Python:计数"对"在两个列表中

时间:2013-10-31 17:10:01

标签: python

我想检查两个列表中的项目是否符合特定条件。

List1 = [4, 2, 3, 1, 4, 1, 2]
List2 = [3, 3, 4, 2, 1, 3, 4] 

我想输出相同索引的对数,即(1,2),(2,1),(4,3)或(3,4)。

在这种情况下,程序应该输出3,因为索引0处的值是(4,3),索引2是(3,4),索引3是(1,2)。

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:4)

这就是你要找的东西:

>>> List1 = [4, 2, 3, 1, 4, 1, 2]
>>> List2 = [3, 3, 4, 2, 1, 3, 4]
>>> sum(1 for x in zip(List1, List2) if sorted(x) in ([1,2], [3,4]))
3
>>>

答案 1 :(得分:1)

List1 = [4, 2, 3, 1, 4, 1, 2]
List2 = [3, 3, 4, 2, 1, 3, 4]

for i in range(len(List1)):
   if abs(List1[i] - List2[i]) == 1:
       print "its a match"
       print List1[i], List2[i]