基本数据类型(整型(int)字符串(string),列表(list),集合(set),字典(dict),元祖(tuple)
可变数据类型(列表,字典,集合)
不可变数据类型(整型,字符串,元祖)
集合和元祖的区别:
语法结构:
{}
创建,例如 my_set = {1, 2, 3}
。()
创建,例如 my_tuple = (1, 2, 3)
。如果元组中只有一个元素,需要在元素后面添加逗号,如 (1,)
,否则它不会被识别为元组。在进行对象是否相等比较的时候我们可以用 is
和 ==
is: 比较两个对象的引用是否相同,即 它们的id 是否一样
== : 比较两个对象的值是否相同。
浅拷贝: 拷贝的是对象的引用,如果原对象改变,相应的拷贝对象也会发生改变
import copy
original_list = [[1, 2, 3], [4, 5, 6]]
shallow_copied_list = copy.copy(original_list)
# 修改原始列表中的一个子列表的元素
original_list[0][0] = 'X'
# 输出结果
print(shallow_copied_list) # 结果会显示 'X',因为子列表是通过引用拷贝的
深拷贝: 拷贝对象中的每个元素,拷贝对象和原有对象不在有关系,两个是独立的对
import copy
original_list = [[1, 2, 3], [4, 5, 6]]
deep_copied_list = copy.deepcopy(original_list)
# 修改原始列表中的一个子列表的元素
original_list[0][0] = 'X'
# 输出结果
print(deep_copied_list) # 结果不会显示 'X',因为进行了深拷贝