python实现,删除列表中重复的元素,保持元素顺序不变统计
时间: 2024-04-29 21:26:04 浏览: 142
重复次数的方法是什么?
可以使用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次
```
相关问题
用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,由于字典的键是唯一的,因此重复的元素会被自动删除。最后再将字典的键转换成列表即可。
阅读全文