Python中去重但不改变顺序
时间: 2024-03-06 17:03:02 浏览: 18
在Python中,可以使用有序字典(OrderedDict)来实现去重但不改变顺序的功能。具体实现方法如下:
```python
from collections import OrderedDict
lst = [1, 2, 3, 2, 4, 1, 5]
lst = list(OrderedDict.fromkeys(lst))
print(lst)
```
输出结果为:
```
[1, 2, 3, 4, 5]
```
在上面的代码中,首先导入了OrderedDict模块,然后使用fromkeys()方法构建了一个有序字典,并将列表lst中的元素作为键插入到有序字典中,由于有序字典的键是唯一的,因此重复的元素会被去掉。最后,使用list()函数将有序字典转换为列表,得到去重后且不改变顺序的结果。
相关问题
Python中将人的名字加入列表去重但不改变顺序
如果要将人名加入列表并去重但不改变顺序,可以使用类似上面的有序字典方法。具体实现方法如下:
```python
from collections import OrderedDict
names = ['Alice', 'Bob', 'Charlie', 'Bob', 'David', 'Charlie', 'Eve']
names = list(OrderedDict.fromkeys(names))
print(names)
```
输出结果为:
```
['Alice', 'Bob', 'Charlie', 'David', 'Eve']
```
在上面的代码中,首先导入了OrderedDict模块,然后使用fromkeys()方法构建了一个有序字典,并将人名作为键插入到有序字典中,由于有序字典的键是唯一的,因此重复的人名会被去掉。最后,使用list()函数将有序字典转换为列表,得到去重后且不改变顺序的结果。
python中将数组去重后不改变序列顺序怎么做
可以使用Python中的set()函数来实现数组去重,然后将去重后的元素重新存放到一个新的数组中,这样就可以保持原有的顺序不变。具体实现可以参考以下代码:
```
# 原始数组
arr = [1, 2, 3, 2, 4, 3, 5, 6, 5]
# 创建一个空的列表
new_arr = []
# 遍历原始数组
for i in arr:
# 如果元素不在新数组中,则添加到新数组中
if i not in new_arr:
new_arr.append(i)
# 打印去重后的数组
print(new_arr)
```
输出的结果为:`[1, 2, 3, 4, 5, 6]`,可以看到原有的顺序并没有改变。