有些时候我们需要用到字典的拷贝,比如:
dict_01 = {"name": "张三", "age": 20}
我们想要创建一个dict_02,使得其值和dict_01相等,并且在改变dict_02的时候不影响dict_01
若直接相等,相当于dict_02变成了dict_01的引用,改变dict_02的时候dict_01的值也会随之变化
dict_01 = {"name": "张三", "age": 20}
dict_02 = dict_01
print("dict_02:", dict_02)
print("dict_01:", dict_01)
dict_02["name"] = "李四"
print("dict_02:", dict_02)
print("dict_01:", dict_01)
print("dict_01的引用:", id(dict_01))
print("dict_02的引用:", id(dict_02))
输出>>
dict_02: {'name': '张三', 'age': 20}
dict_01: {'name': '张三', 'age': 20}
dict_02: {'name': '李四', 'age': 20}
dict_01: {'name': '李四', 'age': 20}
dict_01的引用: 4371788224
dict_02的引用: 4371788224
这里,我们可以用到字典的copy()方法,实现我们的需求:
dict_01 = {"name": "张三", "age": 20}
dict_02 = dict_01.copy()
print("dict_02:", dict_02)
print("dict_01:", dict_01)
dict_02["name"] = "李四"
print("dict_02:", dict_02)
print("dict_01:", dict_01)
print("dict_01的引用:", id(dict_01))
print("dict_02的引用:", id(dict_02))
输出>>
dict_02: {'name': '张三', 'age': 20}
dict_01: {'name': '张三', 'age': 20}
dict_02: {'name': '李四', 'age': 20}
dict_01: {'name': '张三', 'age': 20}
dict_01的引用: 4310921664
dict_02的引用: 4310921728
也可以用内置函数dict()实现:
dict_01 = {"name": "张三", "age": 20}
dict_02 = dict(dict_01)
print("dict_02:", dict_02)
print("dict_01:", dict_01)
dict_02["name"] = "李四"
print("dict_02:", dict_02)
print("dict_01:", dict_01)
print("dict_01的引用:", id(dict_01))
print("dict_02的引用:", id(dict_02))
输出>>
dict_02: {'name': '张三', 'age': 20}
dict_01: {'name': '张三', 'age': 20}
dict_02: {'name': '李四', 'age': 20}
dict_01: {'name': '张三', 'age': 20}
dict_01的引用: 4302451136
dict_02的引用: 4303857856
本文介绍了在Python编程中如何进行字典的复制,包括使用`copy()`方法和内置`dict()`函数创建字典副本。通过这些方法,可以在不改变原始字典的情况下修改复制后的字典。
989

被折叠的 条评论
为什么被折叠?



