【发布时间】:2019-09-06 00:38:43
【问题描述】:
我很好奇在确定两个列表中是否存在不相似元素时哪种实现会更快。在这里,两个列表的长度相同,并且只有一个元素不相同。
实施 #1:
lista = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
listb = ['a', 'b', 'c', 'd', 'e', 'f', 'gslfkjsjf']
difference = list(set(lista) - set(listb))
>>> ['g']
实施#2:
lista = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
listb = ['a', 'b', 'c', 'd', 'e', 'f', 'gslfkjsjf']
for i in range(len(lista)):
if (lista[i] != listb[i]):
print(lista[i])
>>> g
我有兴趣知道答案,因为我正试图找到比较相同长度的两个列表(大约 2000 左右,其中每个元素都是一个唯一的字符串)的最快方法。我只使用字符是为了例子)。感谢所有提前回复的人。
【问题讨论】:
-
为什么是重复的?互联网上有很多解决方案,给出了两种不同的答案。
标签: python list performance set comparison