编写一个函数 `remove_duplicates`,接受一个列表作为参数,返回一个新的列表,包含原列表中的所有唯一元素,保持原有顺序。
时间: 2024-09-20 14:03:24 浏览: 53
remove_duplicates:从数组中删除重复条目的功能
你可以使用Python的内建数据结构`set`来帮助去除重复元素,然后再次转换回列表,同时保留原有的插入顺序(Python 3.7及以后版本支持)。这里有一个简单的实现:
```python
def remove_duplicates(input_list):
return list(dict.fromkeys(input_list))
```
这个函数的工作原理是先将列表转换为一个字典,由于字典的键是唯一的,所以重复的元素会被自动去重。然后再将字典的键转换回列表。
然而需要注意的是,这种方法只保留了元素第一次出现时的位置,因为字典不会维持原始插入顺序。如果你需要保持原有的插入顺序,那么你需要使用其他方法,例如遍历列表并添加到新列表中,如果元素不在新列表里才添加:
```python
def remove_duplicates_ordered(input_list):
unique_list = []
for item in input_list:
if item not in unique_list:
unique_list.append(item)
return unique_list
```
在这个版本中,我们按照原列表的顺序添加元素,确保了结果列表的顺序。
阅读全文