【发布时间】:2020-10-14 17:19:54
【问题描述】:
我有两个字典,一个在列表中:
var_a = [{'name':"John",'number':21},{'name':"Kevin",'number':23}]
var_b = {'21':"yes"},{'24':"yes"}
我需要将 var_a 和 var_b 与 var_b 中的键与 var_a 中的数值进行比较。
我试过这个并得到了输出:
for key, value in var_b.iteritems():
for l in var_a:
if l['number'] == key:
print l
这需要两个循环来获得输出。那么有没有办法用 python 2.7 完成这个单循环?
【问题讨论】:
-
数字值是否唯一?
-
var_b 是一个列表。你不能在列表上做 .iteritems() 。请编辑您的问题
-
是的,数值是唯一的@Nick
-
是的,编辑@Pani
-
即使在您编辑之后,您仍然拥有
var_b = {'21':"yes"},{'24':"yes"},这意味着var_b是两个字典的元组。你是说var_b = {'21':"yes",'24':"yes"}吗?
标签: python list python-2.7 dictionary for-loop