【问题标题】:Indexing a list of dictionaries for a relating value索引相关值的字典列表
【发布时间】:2017-03-04 01:04:46
【问题描述】:

我有 4 个字典,它们被定义到一个列表中

dict1 = {'A':'B'}
dict2 = {'C':'D'}
dict3 = {'E':'F'}
dict4 = {'G':'H'}

list = [dict1, dict2, dict3, dict4]

value = 'D'

print (the relating value to D) 

使用字典列表,我想将其索引为 D 的相关值(即“C”)。

这可能吗?

注意:列表不一定要使用,程序只需要以一种或另一种方式遍历 4 个字典来找到 C 的相关值。

谢谢!

【问题讨论】:

  • 您的意思是,您要打印与值 "D" 关联的键?

标签: python-2.7 list dictionary indexing


【解决方案1】:

您有一个字典列表。一种直接的方法是遍历列表,并使用 -

搜索所需的值

dict.iteritems()

它遍历字典并返回 'key':'value' 对作为元组 (key,value)。所以剩下要做的就是搜索所需的值并返回关联的键。这是我尝试过的快速代码。这也适用于具有任意数量的键值对的字典(我希望)。

dict1 = {'A':'B'}
dict2 = {'C':'D'}
dict3 = {'E':'F'}
dict4 = {'G':'H'}

list = [dict1, dict2, dict3, dict4]

def find_in_dict(dictx,search_parameter):
    for x,y in dictx.iteritems():
        if y == search_parameter:
            return x

for i in range(list.__len__()):
    my_key = find_in_dict(list[i], "D")
    print my_key or "No key found"

另一方面,字典的这种用法对我来说有点尴尬,因为它违背了将 KEY 作为关联 VALUE 的索引的目的。但无论如何,这只是我的意见,我不知道你的用例。希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-25
    • 2022-10-06
    • 2016-06-28
    • 1970-01-01
    相关资源
    最近更新 更多