Python字典:将键与所有键的值进行比较

2024-04-28 23:40:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在解决一个问题,这个问题要求我比较字典中的元素,字典中的单词作为键,单词列表作为值。请参见下面的示例。

test_dict={'cubed': ['zryba', 'aszcb', 'btadc', 'melon', 'ewdgf'],
    'melon': ['jbilk', 'kcjml', 'cubed', 'nfmpo', 'ognqp'],
    'poop': ['mllm', 'nmmn', 'onno', 'qppq', 'rqqr']}

我想返回一个新字典,其中包含与字典中其他键的值匹配的键。我下面的代码是不正确的,我认为是因为它只独立地考虑每个键值对,并且只比较这些键值对中的项。是否有方法在键之间迭代以获得所需的结果?我想要的结果如下所示。

def find_matches(dict1):
    match_dict={}
    for key, value in dict1.items():
        for word in value:
            if key == word:
                #rotate_dict[key]=word
                match_dict[key].append(word)
    return match_dict

find_matches(SO_example) #returns {}, but should return {'cubed':'melon','melon':'cubed'}

谢谢你的帮助。


Tags: keyinfor字典valuematchfind单词