我有我需要制作成一本字典的列表。 该清单中有重复(即将)键具有不同的值。 如何找到这些键和新值追加到它?
list=[q:1,w:2,q:7]
dictionary= q:1,7
w:2
提前致谢
我有我需要制作成一本字典的列表。 该清单中有重复(即将)键具有不同的值。 如何找到这些键和新值追加到它?
list=[q:1,w:2,q:7]
dictionary= q:1,7
w:2
提前致谢
使你的字典列表中的值,让你有:
dictionary = {'q': [1, 7],
'w': [2]
}
等即你的一个项的值是一个项目列表。 这意味着,当你有另一个'q'
,你可以这样做:
dictionary['q'].append(5)
除了dictionary['q']
将是一个KeyError
你第一次做,所以使用setdefault
代替:
dictionary.setdefault('q', []).append(5)
所以,现在你只需要遍历输入列表中的每个键,值对,做以上为他们每个人。
你可能或者想拥有dictionary
是:
dictionary = collections.defaultdict(list)
所以,你可以做dictionary['q'].append(5)
-它会工作与上述相同,在各方面的酒吧之一。 如果,你已经解析您的原始清单,并正确设置所有的值之后,你的字典是这样的:
dictionary = {'q': [1, 7, 5]
'w': [2, 8, 10, 80]
'x': [3]
}
而你尝试做print(dictionary['y'])
你有什么期望发生? 如果使用普通字典和setdefault
,这被认为是一个错误,所以它会引发KeyError
。 如果使用defaultdict
,它会打印一个空列表。 这些无论更有意义,为您的代码应该确定你的代码是哪种方式。