python 中列表如何去重复

python 中列表如何去重复

作者:Joshua Lee发布时间:2026-01-07阅读时长:0 分钟阅读次数:12

用户关注问题

Q
如何用 Python 去除列表中的重复元素?

我有一个包含重复元素的列表,想要去掉重复项,保留唯一元素,应该怎么做?

A

使用 set() 函数去重

可以利用 Python 内置的 set() 函数将列表转换为集合,因为集合不允许重复元素。比如:new_list = list(set(old_list))。不过这样做会丢失原列表的元素顺序。

Q
如何保持列表元素顺序的同时去重?

我想去掉列表中的重复项,但希望结果列表中的元素顺序与原列表相同,有什么方案?

A

使用字典的有序特性或 OrderedDict

可以利用 Python 3.7 及以上版本字典保持插入顺序的特点,代码示例:new_list = list(dict.fromkeys(old_list))。在较老版本 Python 中,可以使用 collections.OrderedDict 来实现相同功能。

Q
有没有性能较好的方法去重复处理大型列表?

面对很大的列表数据,想高效地去除重复元素,有什么建议?

A

利用集合配合循环判重

针对大列表,可以用一个集合来存储已出现过的元素,遍历列表时检查元素是否在集合中,未出现则加入结果列表和集合,这样既保持了顺序也保证效率。示例代码:

seen = set()
result = []
for item in old_list:
if item not in seen:
seen.add(item)
result.append(item)