1.python中的基本数据类型
可变:字典、列表、 set
不可变:数字、元组、字符串、frozenset
**查找速度**:
set>dict>list
深拷贝和浅拷贝的区别
浅拷贝使用的是copy.copy,主要 是地址的拷贝,只拷贝第一层,第一层改变的时候不会改变,内层改变才会改变。深拷贝是值得拷贝,不会随着原数据得变化而变化
import copy
list = [[1, 2], 'feng', 66]
a = copy.copy(list)
b = copy.deepcopy(list)
# list[1]=4
# print(a)
# print(b)
#输出结果
# [[1, 2], 'feng', 66]
# [[1, 2], 'feng', 66]
list[0][0] = 8
print(a)
print(b)
#输出结果
# [[8, 2], 'feng', 66]
# [[1, 2], 'feng', 66]
import copy
list = ['feng',[1,2], 66]
a = copy.copy(list)
b = copy.deepcopy(list)
print(id(list[0]))
print(id(a[0]))
print(id(b[0]))
print(id(list[1]))
print(id(a[1]))
print(id(b[1]))
#输出结果
# 4306918640
# 4306918640
# 4306918640
# 4307415552
# 4307415552
# 4307500992
元组和列表的区别
列表属于可变序列,它的元素可以随时修改或删除,元组是不可变序列,其中元素不可修改,只能整体替换。列表可以使用append()、extend()、insert()、remove()、和pop()等方法实现添加和修改,元组则没有这几个方法。
列表可以使用切片访问的修改列表中的元素,元组也支持切片,但是它只能通过切片访问。
元组比列表的访问和处理速度快,如果只需访问不需要修改,建议使用元组。
列表不能作为字典的键,则元组可以。