Python字典中 fromkeys()方法的坑

发布时间 2023-12-19 19:10:57作者: 小小程序员ol

fromkeys()方法类似于列表的浅拷贝

首先用该方法创建一个字典

dict_ = dict.fromkeys(('a','b','c','d'),[])
print(dict_)

输出:

{'a': [], 'b': [], 'c': [], 'd': []}

当我向某个key添加value时,问题出现了

dict_['b'].append("!!!")
print(dict_)

输出:

{'a': ['!!!'], 'b': ['!!!'], 'c': ['!!!'], 'd': ['!!!']}

所有的key都指向同一个value,就好比很多个标签都指向同一个物品

在这里插入图片描述
和列表浅拷贝类似

a = ["这","是","啥"]
b = a #浅拷贝
c = a[:] #深拷贝
print("a: ",a)
print("b: ",b)
print("c: ",c)

输出:

a:  ['这', '是', '啥']
b:  ['这', '是', '啥']
c:  ['这', '是', '啥']
#Python学习交流群:711312441
del a[1]  #删除 a 的第二个元素
print("a: ",a)
print("b: ",b)
print("c: ",c)

输出:

a:  ['这', '啥']
b:  ['这', '啥']
c:  ['这', '是', '啥']