方法1:
array = [1,2,3,2,1,1,2,2,3,3,443,5]
array_set = []
for i in array:
if i not in array_set:
array_set.append(i)
print(array_set)
思路比较简单,直接新建一个列表,将未出现过的元素依次添加进去即可。该方法可以保持原列表元素的顺序
方法2:通过set方法进行处理
array = [1,2,3,2,1,1,2,2,3,3,443,5]
array_set = list(set(array))
但是该方法存在一个问题,如果原列表中的元素是list的话是不能实现去重的目的的
该方法使用起来比较简单,但是结果没有保持原列表的顺序
方法3:使用lambda匿名函数和reduce函数处理
from functools import reduce
array = [1,2,3,2,1,1,2,2,3,3,443,5]
func = lambda x,y:x if y in x else x+[y]
reduce(func,[[],]+array)
方法4:使用itertools模块
array = [1,2,3,2,1,1,2,2,3,3,443,5]
import itertools
array.sort()
array_ = itertools.groupby(array)
array_set = []
for k,j in array_:
array_set.append(k)
方法5:while遍历去重
def delRepeat(array):
for i in array:
while array.count(i)>1:
del array[array.index(i)]
return array
delRepeat([1,2,3,2,1,1,2,2,3,3,443,5])