>>> dic = {'a': ['1a','2a','3a'],'b': ['1b','2b'], 'a' : ['4a','5a']}
它有相同的键'a'
我希望从这个dic中获取所有值
但是当我使用
时>>> dic.get('a')
只返回
['4a','5a']
如何从中获取所有'a'键的值?
我曾想过使用重复语句来检查所有键,但它似乎效率低下
答案 0 :(得分:3)
字典无法存储重复的密钥。一种方法是在字典中存储列表或集合。我建议您将值存储在指向相同键的集合中。
>>> from collections import defaultdict
>>> dic = defaultdict(list)
>>> dic['a'].extend(['1a','2a','3a'])
>>> dic['a'].extend(['4a','5a'])
>>> dic['b'].extend(['1b','2b'])
答案 1 :(得分:2)
你说:
>>> dic = {'a': ['1a','2a','3a'],'b': ['1b','2b'], 'a' : ['4a','5a']}
It has same keys 'a'
不,不是:
>>> dic = {'a': ['1a','2a','3a'],'b': ['1b','2b'], 'a' : ['4a','5a']}
>>> dic
{'a': ['4a', '5a'], 'b': ['1b', '2b']}
第一次出现的密钥'a'
已经消失了,“第二次出现的同一把密钥被”踩踏“。
我怀疑你是否正在构建dic
这样的dict
字面(我认为这样的文字会引发异常,因为它完全没有意义,但是,唉,它不是) - 您能否向我们展示您正在使用的实际代码,以构建dict
? 然后我们可能会建议如何实际构建您想要的dict
! -
答案 2 :(得分:0)
Python词典不支持重复键,请检查此主题是否有解决方案,make dictionary with duplicate keys in python