Python数组去重和排序

liftword3周前 (04-23)技术文章4
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 解决方案,按照题目要求:

  1. 去重:删除所有重复元素。
  2. 按出现次数排序:出现次数从高到低。
  3. 按首次出现顺序排序:相同出现次数时,保持元素第一次出现的顺序。


相关文章

Python 中数组和列表之间的区别

在这篇文章中,您将了解 Python 中数组和列表之间的区别。Python 列表Python 列表是一种内置数据结构,是包含在方括号[]的元素集合。它们具有许多独特的属性,使它们与其他数据结构不同。有...

Python编程如何合并有序数组

如果现在有两个数组,用户需要我们把这数组要合在一起,要怎么弄呢?我们要分析逻辑,只要你的逻辑思路是对的,实现起来就不难了,就怕没有思路,那实现就很难。按照思路编制出来,然后调试运行是不是达到的预期的效...

protobuf之序列化数据和反序列化数据基础知识

什么是 protobufProtocal Buffers(简称protobuf)是谷歌的一项技术,用于结构化的数据序列化、反序列化。Protocol Buffers 是一种语言无关、平台无关、可扩展的...

物理老师教你学Python语言(下篇)

下篇:物理建模与综合项目核心目标:掌握微分方程数值解、面向对象编程和交互式可视化,构建可扩展的物理仿真系统第7章 动态系统模拟7.1 数值解法与经典力学案例1:弹簧振子动力学(欧拉法)import n...

Numpy array数组的常见运算

Numpy是Python最流行的数学计算库之一,它支持多维数组与矩阵的各种运算。在Numpy库中ndarray对象是其核心,它支持任意维度的数组(向量),所有的运算都是以array为基础展开的。此外,...