【发布时间】:2020-05-19 13:06:47
【问题描述】:
这是我正在从事的项目的一部分,我的问题是我不知道为什么将值分配给所有键,而我只想将它们附加到键为“A”的项目中,是否有另一种思考方式,我需要附加列表,为每个键创建一个大列表。
speakers = ['A','B']
fragments = dict.fromkeys(speakers,[])
TAGS = ['A', ['121560', '124390']]
fragments[TAGS[0]].append(list(map(int,TAGS[1])))
print(fragments)
{'A': [[121560, 124390]], 'B': [[121560, 124390]]}
我需要获得:
{'A': [[121560, 124390]], 'B': []}
如果我再做一次:
fragments[TAGS[0]].append(list(map(int,TAGS[1])))
那么我应该得到:
{'A': [[121560, 124390],[121560, 124390]], 'B': []}
谢谢!
【问题讨论】:
-
我通过使用:
fragments = {i:[] for i in speakers}解决了这个问题,就像 Alexander 和 Tomeriko 所说,他们共享内存,所以值复制到字典中的所有键。
标签: python list dictionary append