python - 对与列表中的项目匹配的字典值执行操作?

标签 python dictionary key-value-store

我有一个包含 46,000 个键:值对的字典,其中每个键都有一个包含 3 项的列表作为值:

my dict = {key1: ['A', 'B', 'C'], key2: ['B', 'A', 'G'], key3: ['Z', 'H', 'I']......}

我有一个包含数百个值的列表:

L1 = ['A', 'A', 'B', 'D', ......]

如何迭代列表 L1 并为 L1 中的每个项目匹配 value[0] 与列表项目匹配的每个字典值?然后,我希望仅对列表项与字典中的值[0]匹配的键:值对对字典的值[1]和值[2]执行其他操作。

在上面的示例中,L1 中的第一项 - 'A' 将仅匹配 key1: ['A', 'B', 'C']

我似乎无法找到一种方法来做到这一点?感谢您的帮助!

最佳答案

如果没有任何快捷方式,您可以编写如下内容:

#!/usr/bin/env python

d = {
    'key1' : ['A', 'B', 'C'], 
    'key2' : ['B', 'A', 'G'], 
    'key3' : ['Z', 'H', 'I']
}

l = ['A', 'A', 'B', 'D']

uniq_l = set(l) # you don't need to check duplicates twice

for key, value in d.items():
    if value[0] in uniq_l:
        print "Match", key, value

# Output:
# Match key2 ['B', 'A', 'G']
# Match key1 ['A', 'B', 'C']

关于python - 对与列表中的项目匹配的字典值执行操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6852324/

相关文章:

c++ - LevelDB --- C++ 代码

Python:无法连接到 HTTPS URL,因为 SSL 模块不可用

python - 元素移动日常采集数据库设计系统问题

javascript - 数组 'map' 与 'forEach' - 函数式编程

swift - 使用静态数据构建字典类 (Swift)

ios - 存储 session 信息 - 另一个核心数据表或 "key-value"格式(YAML,JSON)的单独 session 文件?

mysql - 需要一个 MySQL 查询来从存储键值对的表中进行选择

python - 理解是什么让这个正则表达式如此缓慢

python - Matplotlib 关闭绘图中文本的抗锯齿功能?

ios - 将 JSON 响应转换为字典 Swift