尝试比较 2 个列表的相似度,看看这 2 个列表匹配了多少次。
我的代码是这样的:
list1 = [1,0,1,0,1,1,0,0]
list2 = [1,0,0,1,0,0,1,1]
def listCompare(lst1, lst2):
for i in lst1:
for j in lst2:
if i == j:
return i
print(listCompare(L1, M1))
这应该返回 2,因为两个列表中只有第一项和第二项(索引 0 和 1)相等。
请您参考如下方法:
您可以在两个列表上映射 operator.eq,然后对它们求和:
>>> import operator
>>> sum(map(operator.eq, list1, list2))
2
您比较的是笛卡尔积(list1 的每一项与 list2 的每一项)而不是元素方面的相等性。
