Python 3.x 获取不更新的dict中的值。Python 3.6.9
我想用清单填一份口述。但是,dict似乎一直在更新我传入的值。 我目前正在做这样的事情:Python 3.x 获取不更新的dict中的值。Python 3.6.9,python-3.x,dictionary,Python 3.x,Dictionary,我想用清单填一份口述。但是,dict似乎一直在更新我传入的值。 我目前正在做这样的事情: Dict=dict() lst = list() for i in range(10): lst.append(i) Dict[f'{i}']=lst 并希望获得Dict={'0':[0],1:[1,2],…} 但是我得到了Dict={'0':[0,1,2,3,4,5,6,7,8,9],'1':[0,1,2,3,4,5,6,7,8,9],…} 有什么好办法可以解决这个问题吗 感谢
Dict=dict()
lst = list()
for i in range(10):
lst.append(i)
Dict[f'{i}']=lst
并希望获得Dict={'0':[0],1:[1,2],…}
但是我得到了Dict={'0':[0,1,2,3,4,5,6,7,8,9],'1':[0,1,2,3,4,5,6,7,8,9],…}
有什么好办法可以解决这个问题吗
感谢您的帮助。
Dict[f'{i}]=lst
反复插入完全相同的列表对象,因为赋值通常不会复制对象lst.append(i)
修改一个列表对象。因此,您的字典最终包含许多指向同一列表的指针
要每次插入不同的对象,请复制当前列表:
Dict[f'{i}']=lst.copy()
# or Dict[str(i)] = lst.copy()