我是python的新手,我遇到了问题。我想找到一个有价值的键;但是,键有多个值。
d = {
'a': ['john', 'doe', 'jane'],
'b': ['james', 'danny', 'john'],
'C':['john', 'scott', 'jane'],
}
我想在d中找到值john
并获取密钥a,b和c或找到jane
并获取密钥a和c。
答案 0 :(得分:1)
使用list comprehension可以轻松完成此操作。它遍历dict项目列表中的每个键/值对,其中包含所有键/值对(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']
答案 1 :(得分:1)
所以你必须浏览字典项目,如果find关键字在项目列表中,那么相应的密钥必须存储在列表中,并且必须显示该列表。
d = {'a':['john', 'doe', 'jane'], 'b': ['james', 'danny', 'john'], 'C':['john', 'scott', 'jane'],}
find ='jane'
这就是逻辑在python中编写的方式
print ([m for m in d.keys() if find in d[m]])
它将提供以下输出
['a', 'C']