【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)