python中如何去掉重复的列表值

python中如何去掉重复的列表值

作者:William Gu发布时间:2026-01-14阅读时长:0 分钟阅读次数:3

用户关注问题

Q
如何在Python中删除列表中的重复元素?

我有一个包含重复值的列表,怎样能快速移除这些重复值,保证列表中每个元素唯一?

A

使用集合(set)去重的方法

Python中的集合(set)类型天然不允许有重复元素,可以利用set()函数将列表转换为集合,从而去除重复值,再将集合转换回列表。例如:unique_list = list(set(original_list))。但这样会改变元素的顺序。

Q
怎样在保留列表顺序的同时去掉重复元素?

我希望删除列表中的重复值,但同时保持原有元素的顺序不变,有什么好方法吗?

A

用字典的fromkeys方法保持顺序去重

在Python3.7及其以上版本,字典是保持插入顺序的,可以通过dict.fromkeys()实现。具体方法:unique_list = list(dict.fromkeys(original_list))。这样既去除了重复元素,也保留了初始的顺序。

Q
使用循环如何实现列表去重?

不想用内置函数去重,能否用for循环手动实现去掉列表中的重复元素?

A

用循环和辅助列表实现自定义去重

可以初始化一个空列表,然后遍历原列表中的元素,每次检查该元素是否已在新列表中,若没出现过就添加进去。示例代码:
result = []
for item in original_list:
if item not in result:
result.append(item)