【问题标题】:How do I search for multiple identical keys in a dictionary? (Python3)如何在字典中搜索多个相同的键? (Python3)
【发布时间】:2011-11-26 20:04:11
【问题描述】:

我的代码示例:

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

x=dictionary['key1']

print(x)

这仅打印 value3。我希望它同时打印 value3 和 value1,因为它们 两者都与key1相关。我该怎么做?

【问题讨论】:

    标签: dictionary python-3.x


    【解决方案1】:

    你不能。键按您指定的顺序添加到字典中,第二次出现的“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']
    

    【讨论】:

    • 我明白了,谢谢。有没有其他方法可以同时访问这两个值?也许不使用字典?
    • 我添加了一些关于 defaultdict 的内容,这可能是你想要的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-19
    • 2012-07-08
    相关资源
    最近更新 更多