学习python的第九天

本文详细介绍了Python中的转义字符,包括常见种类及用法;接着讲解了列表的创建、添加元素、插入元素和删除元素的方法;然后讨论了字典的内置函数,如str()、clear()和copy(),并探讨了浅拷贝与深拷贝的区别。通过实例展示了不同拷贝方式对内存空间的影响。
摘要由CSDN通过智能技术生成

 今日打算对之前所学进行一个复习和梳理,以及进行一些知识补充。

 一.转义字符及其用法

主要的转义字符种类

 

二.列表补充

1.创建数组,如4*3的数组

 2.向列表中添加元素:

可以用list.append在列表的末尾添加新的对象,它可以是任何数据类型,但被追加的元素在list中保持着原有数据类型

当然多个值也可

 

上述添加都是在原有列表的尾部,如果想要插入我们可以 使用list.insert(index,object),即在编号为index的位置前插入我们想要插入的object

 

3.删除列表中的元素

我们可以用list.remove(object)来移除列表中的某一个值的第一个匹配项

还可以用list.pop([index=-1])去移除列表中的一个元素,默认是最后一个元素,并且会返回该元素的值

 三.字典的内置函数补充

1.str(dirt)输出字典,以可打印的字符串表示,例如

>>> dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
>>> str(dict)
"{'Name': 'Runoob', 'Class': 'First', 'Age': 7}"

 2.clear函数,删除字典内所有元素,例如

#!/usr/bin/python3

dict = {'Name': 'Zara', 'Age': 7}

print ("字典长度 : %d" %  len(dict))
dict.clear()
print ("字典删除后长度 : %d" %  len(dict))

字典长度 : 2
字典删除后长度 : 0

3.copy方法


#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
dict1 =  {'user':'runoob','num':[1,2,3]}
 
dict2 = dict1          # 浅拷贝: 引用对象
dict3 = dict1.copy()   # 浅拷贝:深拷贝父对象(一级目录),子对象(二级目录)不拷贝,子对象是引用
 
# 修改 data 数据
dict1['user']='root'
dict1['num'].remove(1)
 
# 输出结果
print(dict1)
print(dict2)
print(dict3)

这里的内容很有意思,涉及到了深浅拷贝

浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象

深拷贝(deepcopy):完全拷贝了父对象及其子对象

import copy as cp
a = [1,2,3,4,['a','b']]

b = a      				 #赋值。传对象的引用
c = a[:]    			#利用分片操作进行拷贝(浅拷贝)
d = cp.copy(a)  		#对象拷贝,浅拷贝
e = cp.deepcopy(a) 		 #对象拷贝,深拷贝
a.append(5)     		#改动对象a
a[4].append('c')        #改动对象a中的['a', 'b']列表子对象
print(a)		#[1, 2, 3, 4, ['a', 'b', 'c'], 5]
print(b)		#[1, 2, 3, 4, ['a', 'b', 'c'], 5]
print(c)		#[1, 2, 3, 4, ['a', 'b', 'c']]
print(d)		#[1, 2, 3, 4, ['a', 'b', 'c']]
print(e)		#[1, 2, 3, 4, ['a', 'b']]

我们再给出三个图来说明它们指向的内存空间的不同

                                         1.直接复制

                                         2.浅拷贝

 

                                        3.深拷贝

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值