引言
列表作为一个容器可以存储不同类型的数据元素,而且可以存储重复元素。在项目应用中,提取列表中唯一元素删除重复项是常见操作,实现方法也多种多样。列举几种常用方法方便遗忘时回忆。
目录
一、set()去重复
使用集合set数据结构可以去重复,但会造成数据无序性,改变原始列表的有序性。
示例代码
import time
def remove_duplicate_1(data_list):
start_time = time.time()
#利用集合set去重复
new_list = list(set(data_list))
end_time = time.time()
print("使用set()集合去重复时间{:.3f}".format(end_time-start_time))
return new_list
duplicate_cnt = int(1e8) #重复次数
data = list(range(6))*duplicate_cnt
new_list = remove_duplicate_1(data)
print(new_list)
#实验结果
使用set()集合去重复时间4.511
[0, 1, 2, 3, 4, 5]
二、列表推导式去重复
如果像保持列表去重复后数据的有效顺序可以使用列表推导式与if语句的组合。
示例代码
import time
def remove_duplicate_2(data_list):
start_time = time.time()
new_list = []