【发布时间】:2018-05-29 08:27:15
【问题描述】:
如果发现重复键,我一直在寻找如何为 Dict 中的单个键添加多个 val。
举个例子:
list_1 = ['4', '6' ,'8', '8']
list_2 = ['a', 'b', 'c', 'd']
new_dict = dict(zip(list_1,list_2))
...output...
{'8': 'd', '4': 'a', '6': 'b'}
预期输出:
{'8': 'c,d', '4': 'a', '6': 'b'}
为了处理上述两个列表并将它们组合成一个字典,我将面临一定的挑战,我们不能在字典的“键”中包含两个 8,这是一种默认行为,我明白为什么! !
处理这种情况的一些选项是:
1) 查找dict中是否已经存在'key',如果存在,则将新的val附加到'key'
2) 创建一个可变对象来引用每个键,这样您就可以拥有多个 dup 键~~不是我的用例
那么,我怎样才能使用选项#1 获得预期的输出?
【问题讨论】:
-
为什么不使用集合作为开始的值?
-
为什么在列表更有意义时使用逗号分隔字符串?
-
你想要一个
defaultdict。
标签: python list dictionary