2015-10-15 76 views
0

如果我有與在(X,Y)的形式的元組兩個以下列表:如何計算Python中兩個嵌套列表之間的差異?

[(a,1),(b,2),(c,7),(d,1)] 
[(a,3),(b,2),(c,7),(d,8)] 

我要計數的相對於對應的「x」值的「y」值的差數。在上述情況下,答案是2

(一,)不匹配(一,)

(d,)沒有按「T匹配(d,)

編輯:這不是一個重複,EL的位置意義重大。我想檢查列表1中的元素1是否與列表2中的元素1相同,以此類推。

+1

這可能已經在這裏找到答案:http://stackoverflow.com/questions/ 16138015/python-comparison-two-lists – keda

+1

[python查找兩個列表之間的區別]可能的重複(http://stackoverflow.com/questions/22559627/python-find-difference-between-two-lists) – Leb

+0

這不是一個副本。我試圖在這裏做一些不同的事情 –

回答

2

可以使用sum函數中zip功能和發電機的表達:

count=sum(i!=j for i,j in zip(list1,list2)) 
0

另一種方法是

x = [("a", 1) ,("b", 2), ("c", 7), ("d", 1)] 
y = [("a", 3), ("b", 2), ("c", 7), ("d", 8)] 
count = len(set(x).intersection(y)) 
+0

這不考慮位置嗎? (即x [1]!= y [1]),只是在x的某處與y有區別? – stian

相關問題