Python数组去重和排序
from collections import Counter
def remove_duplicates_and_sort(arr):
# 统计出现次数
count = Counter(arr)
# 按照 (出现次数降序, 首次出现顺序) 排序
sorted_items = sorted(count.keys(), key=lambda x: (-count[x], arr.index(x)))
return sorted_items
# 读取用户输入的数组
arr = list(map(int, input("请输入数组元素(以空格分隔):").split()))
# 处理并输出结果
result = remove_duplicates_and_sort(arr)
print("去重排序后的数组:", result)
下面是一个 Python 解决方案,按照题目要求:
- 去重:删除所有重复元素。
- 按出现次数排序:出现次数从高到低。
- 按首次出现顺序排序:相同出现次数时,保持元素第一次出现的顺序。