我使用Python来遍历一个里面有很多的元素的列表,因为我要判断它是否在另一个列表中,如果不存在则写入另一个列表,如果存在则不会重复写入,但它每次都会从头到尾遍历一个大列表,执行速度非常慢,如何优化
时间: 2023-04-03 13:03:19 浏览: 111
python 实现遍历列表
您可以使用Python中的集合(set)来优化这个问题。集合是一种无序的、不重复的数据结构,可以快速地判断一个元素是否存在于集合中。您可以将需要判断的列表转换为集合,然后遍历另一个列表,对于每个元素,判断它是否在集合中,如果不存在则写入另一个列表,并将它加入集合中。这样可以避免重复遍历大列表,提高执行速度。代码示例:
```
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
list2 = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
set1 = set(list1)
result = []
for item in list2:
if item not in set1:
result.append(item)
set1.add(item)
print(result)
```
阅读全文