【发布时间】:2017-04-10 16:03:07
【问题描述】:
我有两个包含 1 和 0 的列表,例如
list1 = [1,1,0,1,0,1]
list2 = [0,1,0,1,1,0]
我想找到它们在每个索引处匹配的次数。所以在这种情况下,输出将是 3,因为它们仅在索引 1,2 和 3 处具有相同的值。
目前我正在这样做:
matches_list = []
for i in list1:
index = list[1].index(i)
if list1[index] == list2[index]:
mathes_list.append(i)
else:
pass
return len(matches_list)
但是这很慢,我想多次这样做以比较大量这些列表
我希望有人可以建议我更快地做到这一点。有没有办法使用 set() 函数或类似的东西,例如比较两个列表但保持每个列表的顺序?
【问题讨论】:
-
第一个循环可以使用
enumerate。这样你就不必再次获取索引了。