我有一个包含 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/