【发布时间】:2020-09-07 22:25:50
【问题描述】:
我正在尝试将特定值添加到字典中的特定键,我得到了一个特殊键列表。我正在使用 for 循环来执行此操作,但结果是将所有内容添加到字典中的所有键中
keyList = ['a','b','c']
testdict = dict.fromkeys(keyList,[])
specKey = ['a','c']
for i in specKey:
t = testdict.get(i)
t.append(i)
print(testdict)
结果是这样的
{'a': ['a', 'c'], 'b': ['a', 'c'], 'c': ['a', 'c']}
但我希望结果应该是这样的:
{'a': ['a'], 'b': [], 'c': ['c']}
谁能告诉我我做错了什么?谢谢!
【问题讨论】:
-
为避免此问题,请改用字典理解:
testdict = {k:[] for k in keyList} -
fromkeys通常只有在您使用 不可变 值来初始化每个键时才有用。 -
哦,所以我在创建字典时犯了一个错误...谢谢大家!
标签: python