2016-09-16 97 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