如何在字典中搜索多个相同的键? (Python3)

时间:2011-11-26 20:04:12

标签: dictionary python-3.x

我的代码示例:

dictionary={ 'key1' : 'value1' , 'key2' : 'value2' , 'key1' : 'value3' }

x=dictionary['key1']

print(x)

仅打印value3。我想让它打印value3和value1,因为它们 两者都与key1相关。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

你做不到。键将按照您指定的顺序添加到字典中,第二次出现的'key1'将覆盖前一个键。

这就像你写的那样:

x = 1
x = 2

然后询问如何打印x的两个值。

要记录多个值,最简单的方法是使用defaultdict并构建值列表:

>>> import collections
>>> dictionary = collections.defaultdict(list)
>>> dictionary['key1'].append('value1')
>>> dictionary['key2'].append('value2')
>>> dictionary['key1'].append('value3')
>>> print(dictionary['key1'])
['value1', 'value3']