我有dct = {'word1': 23, 'word2': 12, 'word1' : 7, 'word2':2}
,当密钥不重复并包含字典中的所有值时,我需要获取列表
f.e .:
lst = ('word1 23 7', 'word2 12 2')
有没有可能在Python中这样做?
答案 0 :(得分:5)
你不能拥有你描述的内容。你可以拥有这个:
dct = {}
dct['word1'] = 23
dct['word2'] = 12
dct['word1'] = 7
dct['word2'] = 2
但最后你最终得到的是:
{'word1': 7, 'word2': 2}
字典中的键不能重复。如果您的代码实际上是像我的第一个示例那样设置的,那么您可能想要的是:
from collections import defaultdict
dct = defaultdict(list)
dct['word1'].append(23)
dct['word2'].append(12)
dct['word1'].append(7)
dct['word2'].append(2)
之后你会得到这个:
defaultdict(<type 'list'>, {'word1': [23, 7], 'word2': [12, 2]})