数组去重和按出现次数排序python
时间: 2024-09-22 15:08:35 浏览: 42
在Python中,数组去重并按出现次数排序通常涉及到两个步骤:首先去除重复元素,然后对剩下的元素按照它们在原数组中的频率(即出现次数)进行降序排序。这里可以用字典或集合(set)来快速去掉重复值,再通过列表推导式配合`collections.Counter`来计算每个元素的出现次数,最后结合`sorted`函数和`lambda`表达式完成排序。
下面是一个示例:
```python
from collections import Counter
def array_unique_sort(arr):
# 使用集合去除重复元素
unique_elements = set(arr)
# 计算每个元素的出现次数
counter = Counter(arr)
# 按照元素出现次数降序排列
sorted_array = sorted(unique_elements, key=lambda x: counter[x], reverse=True)
return sorted_array
# 示例
arr = [1, 2, 2, 3, 4, 4, 4]
result = array_unique_sort(arr)
print(result) # 输出:[4, 2, 1, 3]
相关问题
用python写一个数组去重排序
以下是一个简单的Python程序,用于对数组进行去重排序:
```python
# 定义数组
arr = [8, 4, 6, 2, 8, 1, 3, 5, 7, 6]
# 去重排序
arr = list(set(arr))
arr.sort()
# 输出结果
print(arr)
```
输出结果:
```
[1, 2, 3, 4, 5, 6, 7, 8]
```
这个程序使用了Python内置的set()函数来去除数组中的重复元素,然后使用sort()函数对剩余的元素进行排序。最后输出排序后的结果。
python 数组去重 set
set()函数是Python内置函数中比较基础的一个,用于创建一个无序不重复元素集。它可以进行关系测试、删除重复数据,并且可以计算交集、差集、并集等操作。你可以将一个列表作为set()函数的参数,然后调用set()函数来对列表进行去重操作。例如,对于列表li1=['a','b','c','d','a','b'],可以使用set()函数对其进行去重,得到的结果为{'b', 'd', 'c', 'a'}。
如果你想保持去重后的元素顺序不变,可以使用sort()函数按原来的顺序重新排序。例如,对于列表li1=['a','b','c','d','a','b'],可以先使用set()函数进行去重,然后将set类型转换为list类型,最后使用sort()函数按照原来的序列对list进行排序,即可保持去重后的顺序。应用以上方法,对于列表li1=['a','b','c','d','a','b'],可以得到['a', 'b', 'c', 'd']。
阅读全文