在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]
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。