我是 python 新手,有一个问题。我正在尝试找到具有值的键;但是,键有多个值。
d = {
'a': ['john', 'doe', 'jane'],
'b': ['james', 'danny', 'john'],
'C':['john', 'scott', 'jane'],
}
我想在 d 中查找值 john
并获取键 a、b 和 c,或者查找 jane
并获取键 a 和 c。
最佳答案
这可以使用 list comprehension 轻松完成。它迭代字典的项目列表中的每个键/值对,其中包含所有键/值对(for key,val in d.items()
),并仅选择目标字符串所在的对包含在值列表中(if 'john' in val
),根据结果键构建一个列表([ key ... ]
)。
>>> [ key for key,val in d.items() if 'john' in val ]
['b', 'a', 'C']
>>> [ key for key,val in d.items() if 'jane' in val ]
['a', 'C']
关于python - 在具有多个值的键的字典中查找公共(public)值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39844141/