Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dictionary 如何在字典中搜索多个相同的键?(蟒蛇3)_Dictionary_Python 3.x - Fatal编程技术网

Dictionary 如何在字典中搜索多个相同的键?(蟒蛇3)

Dictionary 如何在字典中搜索多个相同的键?(蟒蛇3),dictionary,python-3.x,Dictionary,Python 3.x,我的代码示例: dictionary={ 'key1' : 'value1' , 'key2' : 'value2' , 'key1' : 'value3' } x=dictionary['key1'] print(x) 这只打印值3。我希望它同时打印value3和value1,因为它们 两者都与键1相关。我该怎么做?你不能。键将按指定的顺序添加到字典中,第二次出现的“键1”将覆盖上一次出现的键 这就像你写的: x = 1 x = 2 然后询问如何打印x的两个值 要记录多个值,最简单的方

我的代码示例:

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

x=dictionary['key1']

print(x)
这只打印值3。我希望它同时打印value3和value1,因为它们
两者都与键1相关。我该怎么做?

你不能。键将按指定的顺序添加到字典中,第二次出现的“键1”将覆盖上一次出现的键

这就像你写的:

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']

我明白了,谢谢。是否有其他方法可以同时访问这两个值?也许不使用字典?我已经添加了一点关于defaultdict的内容,这可能是您想要的。