比较Python字典中的值和打印键

问题描述

我有一个Archive: /content/drive/My Drive/frames_final.zip error: zipfile read error error [/content/drive/My Drive/frames_final.zip]: start of central directory not found; zipfile corrupt. (please check that you have transferred or created the zipfile in the appropriate BINARY mode and that you have compiled UnZip properly) 的列表,我想从第二个OrderedDict中找到一个匹配的子集。

OrderedDict

如何比较这些词典,找到正确的条目,然后打印名称在这种情况下,我们应该得到“杰克”。

解决方法

假设您的意思是您拥有OrderedDict的列表:

z = [j['name'] for j,k in zip(d1,d2.keys()) if j[k] == d2[k]]

d1 = [
    OrderedDict([('name','John'),('Score1','2'),('Score2','8'),('Score3','3')]),OrderedDict([('name','Jack'),'4'),'1'),'5')]),'Jill'),'5')])
]
    
d2 = OrderedDict([('Score1','5')])

z = [j['name'] for j,d2.keys()) if j[k] == d2[k]]
>>> z
['Jack','Jill']