为相关值索引字典列表

时间:2017-03-04 01:04:47

标签: python-2.7 list dictionary indexing

我有一个已被定义到列表中的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的相关值。

谢谢!

1 个答案:

答案 0 :(得分:0)

您有一个词典列表。一种简单的方法是循环遍历列表,并使用 -

搜索所需的值
  

dict.iteritems()

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

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的索引的目的。但无论如何,它只是我的意见,我不知道你的用例。希望它有所帮助。