上一篇
python列表如何去重复
- 行业动态
- 2024-04-07
- 1
在Python中,可以使用以下几种方法去除列表中的重复元素:
1、使用set()函数
2、使用列表推导式
3、使用for循环和if条件判断
4、使用sorted()函数和enumerate()函数
下面分别介绍这四种方法:
1. 使用set()函数
将列表转换为集合(set),集合中的元素是唯一的,然后再将集合转换回列表,这种方法会改变原列表的顺序。
lst = [1, 2, 2, 3, 4, 4, 5] lst_no_duplicates = list(set(lst)) print(lst_no_duplicates)
输出结果:
[1, 2, 3, 4, 5]
2. 使用列表推导式
通过列表推导式,遍历列表中的每个元素,如果元素不在新列表中,则将其添加到新列表中,这种方法会保留原列表的顺序。
lst = [1, 2, 2, 3, 4, 4, 5] lst_no_duplicates = [] [lst_no_duplicates.append(i) for i in lst if i not in lst_no_duplicates] print(lst_no_duplicates)
输出结果:
[1, 2, 3, 4, 5]
3. 使用for循环和if条件判断
通过for循环遍历列表中的每个元素,如果元素不在新列表中,则将其添加到新列表中,这种方法会保留原列表的顺序。
lst = [1, 2, 2, 3, 4, 4, 5] lst_no_duplicates = [] for i in lst: if i not in lst_no_duplicates: lst_no_duplicates.append(i) print(lst_no_duplicates)
输出结果:
[1, 2, 3, 4, 5]
4. 使用sorted()函数和enumerate()函数
首先对列表进行排序,然后使用enumerate()函数遍历排序后的列表,如果当前元素与前一个元素不同,则将其添加到新列表中,这种方法会保留原列表的顺序。
lst = [1, 2, 2, 3, 4, 4, 5] lst_no_duplicates = [] for i, num in sorted(enumerate(lst), key=lambda x: x[1]): if i == 0 or num != lst[i 1]: lst_no_duplicates.append(num) print(lst_no_duplicates)
输出结果:
[1, 2, 3, 4, 5]
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/317674.html