python 列表删除重复元素保留先出现的
时间: 2024-01-21 19:05:10 浏览: 79
可以使用列表推导式和if条件判断语句来实现,例如:
```
list = [1, 2, 3, 2, 1, 4, 5, 4]
new_list = []
[new_list.append(i) for i in list if i not in new_list]
print(new_list)
```
输出结果为:
```
[1, 2, 3, 4, 5]
```
这段代码可以删除列表中的重复元素并保留先出现的元素。
相关问题
python删除列表重复元素,元素为字符串
要删除列表中重复的字符串元素,你可以使用集合(set)来实现。集合是一个无序且不重复的数据集合,可以用它来去除重复元素。
以下是使用集合来删除列表中重复字符串元素的示例代码:
def remove_duplicates(lst):
return list(set(lst))
# 测试
lst = ["apple", "banana", "orange", "apple", "grape", "banana"]
result = remove_duplicates(lst)
print(result) # 输出 ['orange', 'grape', 'banana', 'apple']
注意,集合是无序的,所以返回的结果可能会与原始列表的顺序不同。如果你需要保留原始列表的顺序,可以使用列表推导式和条件判断来实现:
def remove_duplicates(lst):
return [x for i, x in enumerate(lst) if x not in lst[:i]]
# 测试
lst = ["apple", "banana", "orange", "apple", "grape", "banana"]
result = remove_duplicates(lst)
print(result) # 输出 ['apple', 'banana', 'orange', 'grape']
Python 删除列表中重复元素但是要保留重复元素的最后一个而
不删除其他重复元素应该怎么做?
可以借助 Python 的 set 和列表推倒式来实现这个功能,具体代码如下:
```python
def remove_duplicates(lst):
return [x for i, x in enumerate(lst) if x not in lst[i+1:]]
lst = [1, 2, 3, 4, 2, 3, 1, 4]
res = remove_duplicates(lst) # [3, 1, 4, 2]
```
这个函数会返回一个新的列表,其中保留了原列表中最后出现的重复元素,但是删除了其他重复元素。
阅读全文