今日打算对之前所学进行一个复习和梳理,以及进行一些知识补充。
一.转义字符及其用法
主要的转义字符种类
二.列表补充
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.深拷贝