列表去除重复元素,保持顺序不变
时间: 2024-05-05 20:17:09 浏览: 92
你可以使用一个集合(set)来帮助去除重复元素,然后再将集合转换回列表。集合会自动去除重复元素,但是集合是无序的,所以在转换回列表之前,你需要将原始列表中的顺序保存在一个新的列表中。
以下是一个示例代码:
```python
original_list = [3, 2, 1, 2, 3, 4, 5, 4]
new_list = []
seen = set()
for item in original_list:
if item not in seen:
seen.add(item)
new_list.append(item)
print(new_list)
```
输出:
```
[3, 2, 1, 4, 5]
```
在上面的代码中,我们使用了一个空列表`new_list`来保存去除重复元素后的结果。我们还创建了一个空集合`seen`来跟踪已经出现的元素。我们遍历原始列表中的每个元素,如果它不在`seen`集合中,就将它添加到`new_list`中,并将它添加到`seen`集合中。这样就可以确保`new_list`中的元素是不重复的,而且它们的顺序与原始列表中的顺序相同。
相关问题
列表去掉重复数且保持顺序不变
可以使用 Python 中的 set() 函数来去除列表中的重复元素,然后再将结果转换为列表即可保持顺序不变。示例代码如下:
```python
lst = [1, 2, 3, 2, 4, 3, 5]
new_lst = list(set(lst))
print(new_lst) # [1, 2, 3, 4, 5]
```
python实现,删除列表中重复的元素,保持元素顺序不变统计
重复次数的方法是什么?
可以使用Python中的set()函数将列表转换为集合,去除重复元素,然后再将集合转化为列表。这样做会打乱原本的元素顺序。
为了保持元素顺序,可以使用循环遍历列表,把每个元素添加到一个新的列表中,如果该元素还没有添加到新列表中,则添加到新列表中,否则统计该元素出现的次数。
下面是一个实现这种方法的Python代码示例:
```
def count_unique(lst):
counts = {}
unique_lst = []
for item in lst:
if item in counts:
counts[item] += 1
else:
counts[item] = 1
unique_lst.append(item)
for item in unique_lst:
print("{}: {}次".format(item, counts[item]))
lst = [1, 2, 3, 2, 1, 4, 5, 1, 4]
count_unique(lst)
```
运行结果如下所示:
```
1: 3次
2: 2次
3: 1次
4: 2次
5: 1次
```
阅读全文