通过增加 Python 中元素的频率对数组进行排序的程序
假设我们有一个包含一些元素的数组,其中元素可能出现多次。我们必须对数组进行排序,以便元素根据其频率的增加进行排序。那么哪个元素出现的次数较少将首先出现,依此类推。
因此,如果输入类似于nums=[1,5,3,1,3,1,2,5],那么输出将是[2,5,5,3,3,1,1,1]
示例(Python)
让我们看看以下实现以获得更好的理解-
def solve(nums):
mp = {}
for i in set(nums):
x=nums.count(i)
try:
mp[x].append(i)
except:
mp[x]=[i]
ans=[]
for i in sorted(mp):
for j in sorted(mp[i], reverse=True):
ans.extend([j]*i)
return ans
nums = [1,5,3,1,3,1,2,5]
print(solve(nums))输入
[1,5,3,1,3,1,2,5]输出结果
[2, 5, 5, 3, 3, 1, 1, 1]
热门推荐
1 训练狗狗基础
2 怎么训练狗狗笑
3 怎么训练狗狗卧下
4 上海狗狗训练基地
5 训练狗狗排便
6 狗狗基础训练
8 如何训练狗狗装死
9 狗狗站姿训练
10 狗狗训练用品
11 训练狗狗吧
12 狗狗要怎么训练
13 怎么训练狗狗玩球
14 训练狗狗唤回
15 狗狗训练躺下
16 狗狗训练指令
17 狗狗的训练技巧
18 狗狗不好训练