问:列表 test = [1,2,3,1,3,4,5,67,7,8,54,1,2,3,4,5,6],如何删除该列表的重复元素?
方法1:利用集合的不重复性
# 利用集合的不重复性 test = [1,2,3,1,3,4,5,67,7,8,54,1,2,3,4,5,6] # 将 列表 转换成 集合,再将集合 转换成 列表 test1 = list(set(test)) print(test1)
如果要保持列表的原有顺序,可以使用 sort 方法:
# 利用集合的不重复性 test = [1,2,3,1,3,4,5,67,7,8,54,1,2,3,4,5,6] # 去重 test1 = list(set(test)) # 按照原有顺序排列 test1.sort(key = test.index) print(test1)
方法2:利用 numpy 模块的 unique 函数
# 引入 numpy 模块 from numpy import * test = [1,2,3,1,3,4,5,67,7,8,54,1,2,3,4,5,6] test = numpy.unique(test) print(test)
方法3:先排序然后去重
test = [1,2,3,1,3,4,5,67,7,8,54,1,2,3,4,5,6]
test_RemoveDuplicates = sorted(test)
last_num = test_RemoveDuplicates[-1] # 当前列表最后一个元素
for i in range(len(test_RemoveDuplicates)-2,-1,-1):
if last_num == test_RemoveDuplicates[i]: # 判断当前列表倒数第二个元素跟最后一个元素是否相等
del test_RemoveDuplicates[i] # 如果相等,就删除重复元素
else:
last_num = test_RemoveDuplicates[i] print(test_RemoveDuplicates)