Python 3.x 获取不更新的dict中的值。Python 3.6.9

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=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()