用Python 删除列表中的重复元素且列表中元素顺序不变
时间: 2023-05-27 19:04:47 浏览: 119
可以使用set()函数去除重复元素,然后再将其转换成列表,但是这样会改变元素的先后顺序,因为set()函数是无序的。为了保持元素的先后顺序,可以使用for循环遍历列表,添加非重复元素到新列表中。代码如下:
```python
old_list = [3, 2, 1, 2, 3, 1, 4, 5, 6, 5]
new_list = []
for i in old_list:
if i not in new_list:
new_list.append(i)
print(new_list)
```
输出结果为:[3, 2, 1, 4, 5, 6]。
相关问题
用python写删除列表中重复的元素,保持元素顺序不变统计
可以使用Python中的OrderedDict来实现删除列表中重复的元素,并保持元素顺序不变统计。具体代码如下:
```python
from collections import OrderedDict
def remove_duplicates(lst):
return list(OrderedDict.fromkeys(lst))
lst = [1, 2, 3, 2, 4, 3, 5, 6, 5]
new_lst = remove_duplicates(lst)
print(new_lst)
print(len(new_lst))
```
输出结果为:
```
[1, 2, 3, 4, 5, 6]
6
```
其中,`OrderedDict.fromkeys(lst)` 会生成一个字典,字典中的键为列表中的元素,值为None,由于字典的键是唯一的,因此重复的元素会被自动删除。最后再将字典的键转换成列表即可。
python怎么删除列表的重复元素并保持顺序不变
可以使用以下代码删除列表的重复元素并保持顺序不变:
```
def remove_duplicate(lst):
seen = set()
result = []
for item in lst:
if item not in seen:
seen.add(item)
result.append(item)
return result
```
这个函数会创建一个空集合 `seen` 和一个空列表 `result`。然后遍历列表中的每个元素,如果它不在 `seen` 集合中,则将它添加到 `result` 列表中和 `seen` 集合中。这样,每个元素只会被添加到 `result` 列表中一次,就可以删除重复元素并保持顺序不变。
阅读全文