【Python】set 与 list ——如何对列表进行去重?

在Python中,形如 {1,2,3,4,5} 这样的数据类型叫做”集合“,外形酷似列表list [1,2,3,4,5]

但是集合与列表有很多区别,具体表现在以下几方面:

List:

  1.可重复添加

  2.使用线性存储

  3.存入与取出顺序一致

Set:

  1.不可重复添加

  2.使用哈希表存储

  3.存入与取出顺序不一致

集合的一个特性就是:数据不可重复,因此我们可以利用这个特性对列表进行去重

假如我们有一个列表[1,1,2,3,3,5,6],我们希望去掉重复数字,有两种方法:

方法一:

 1 # 通过将列表中的元素加入到一个新列表中的方式
 2 temp = []
 3 lst = [1,1,2,3,3,5,6]
 4 
 5 for i in lst:
 6     if i not in temp:
 7         temp.append(i)
 8 
 9 print(temp)

方法二:

1 lst = [1,1,2,3,3,5,6]
2 
3 temp = list(set(lst)) # 先将列表转化为集合去重,再将集合转成列表
4 
5 print(temp)