通过使用.append(),使用python将值附加到字典中

问题描述 投票:0回答:1

我想在我的词典中的位置2添加17。当我运行此代码时,到处都有17。

dic = dict.fromkeys(range(4), [])

print("dic begin : ", dic)

dic[1].append(17)

print("dic end : ", dic)

我得到此输出:

('dic begin:',{0:[],1:[],2:[],3:[]})('dic end:',{0:[17],1:[17],2:[17],3:[17]})

我在做什么错?

python python-3.x dictionary append
1个回答
0
投票

因此,当您使用dict.fromkeys(keys, value)方法时,仅传递值的引用!因此,当您进行突变时,所有这些人都会被突变。您可以使用此-

dic = {i:[] for i in range(4) }
print("dic begin : ", dic)

dic[1].append(17)
print("dic end : ", dic)

Out-

dic begin :  {0: [], 1: [], 2: [], 3: []}
dic end :  {0: [], 1: [17], 2: [], 3: []}
© www.soinside.com 2019 - 2024. All rights reserved.