一、使用set()函数去重
Python中的set()函数可以提供一个快速去重的方法。set()会将一个列表转换为集合,自动删除重复元素。
list1 = [1, 2, 3, 3, 4, 5, 5, 5, 6]
set1 = set(list1)
list2 = list(set1)
print(list2)
上述代码中,我们先将列表list1转化为集合set1,然后再将集合set1转换为列表list2。这样我们就可以得到去重后的列表。
二、使用列表推导式去重
列表推导式是Python中非常实用的一种快捷方式,可以通过一行代码实现功能。在实现去重时,我们可以使用列表推导式。
list1 = [1, 2, 3, 3, 4, 5, 5, 5, 6]
list2 = []
[list2.append(i) for i in list1 if i not in list2]
print(list2)
上述代码中,先创建了一个空列表list2,然后使用列表推导式将list1中的元素添加到list2中。在添加的过程中,如果元素已经在list2中存在,则不添加。
三、使用字典去重
在Python中,字典的键是唯一的,我们可以利用这个特性来去重。将列表中的元素作为字典的键,然后将值都赋为True即可。
list1 = [1, 2, 3, 3, 4, 5, 5, 5, 6]
dict1 = {}
for i in list1:
dict1[i] = True
list2 = list(dict1.keys())
print(list2)
上述代码中,我们先创建一个空字典dict1,将list1中的元素添加到字典dict1中,并将值都赋为True。然后再将键值取出,即可得到去重后的列表。
四、使用sorted()函数去重
Python中的sorted函数可以将一个序列排序,也可以去除重复元素。
list1 = [1, 2, 3, 3, 4, 5, 5, 5, 6]
list2 = list(set(list1))
list3 = sorted(list2)
print(list3)
上述代码中,我们先使用set()函数将list1中的重复元素去除,再使用sorted()函数将去重后的列表进行排序。
五、总结
Python提供了多种方法实现列表去重。set()函数可以直接将列表转换为集合去重,列表推导式和字典去重需要手动实现去重逻辑,sorted()函数不仅可以排序,还可以去除重复元素。我们可以根据实际需求选择合适的方法。