python - 在具有多个值的键的字典中查找公共(public)值

标签 python python-2.7 dictionary

我是 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/

相关文章:

python - 使用 Python 的 PLAXIS API

python - 给定元组坐标列表,找到最接近指定坐标的坐标

Python 访问字典列表中的值

javascript - 以更短的方式从数组中获取字符串

python - 如何使用嵌套字典的名称?

Python : sorting a list of strings, 全部大写在先

python - 多处理问题

python-2.7 - Python cv2 图像金字塔

python - 迭代 Pandas 数据框的最快方法?

python - 如何使用 Python 2.7 发送 HTTP POST