2016-09-16 118 views
-3

我有两个包含字典的列表。每个字典只有一个条目。我想检查列表Y中的字典A(列表X)中的键是否也存在于列表Y的字典中。如果是这种情况,则应该打印键和属于它的值。比较Python列表中的字典

实施例:

listA = [{key1: value1}, {key2: value2}] 
listB = [{key1: value3}, {key4: value4}] 

在这种情况下,输出应该是:

key1: value1, value3 

预先感谢。

+2

你的套不字典清单。 – Kasramvd

+0

对不起,这是一个错误。感谢您的注意。 – user2879551

回答

0

一个非常简单的方法来做到这一点是:

#!/usr/bin/env python 

l1 = [{'1':"one"} , {'2':"two"}] 
l2 = [{'3':"three"} , {'1':"one_too"}] 

def cmp(l1,l2): 
    for i in l1:  
     for j in l2: 
      for (key1,value1),(key2,value2) in zip(i.iteritems(),j.iteritems()): 
       if key1==key2: 
        print key1+": "+value1+", "+value2 
        break 

cmp(l1,l2) 
+0

这不适合我。压缩列表将L1的第一项匹配到L2的第一项,等等。唯一一次我会与你的解决方案匹配的是当这两个巧合匹配(这几乎从来不是这种情况)。你有其他想法吗? – user2879551

+0

太棒了!非常感谢! – user2879551