0
点赞
收藏
分享

微信扫一扫

给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。

一条咸鱼的干货 2022-04-13 阅读 75
python

题目描述

给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。

【输入形式】第一行包含一个整数n,表示给定数字的个数; 第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。

【输出形式】输出有多行,每行包含两个整数,分别表示一个给定的整数和它出现的次数。按出现次数递减的顺序输出。如果两个整数出现的次数一样多,则先输出值较小的,然后输出值较大的。

【样例输入】

12

5 2 3 3 1 3 4 2 5 2 3 5

【样例输出】

3 4

2 3

5 3

1 1

4 1

解题思路:

1.将所有数字排序

2.统计次数

3.对次数进行排序

代码

# coding=utf-8
n = eval(input())
s = input().split(" ")
s.sort()  # 1.将所有数字排序
dit = {}
for x in s:#2.统计次数
    dit[x] = dit.get(x, 0)+1
#3.按照字典的值降序排列
dit1 = dict(sorted(dit.items(), key=lambda x: x[1], reverse=True))
print("------------运行结果------------")
for key in dit1:
    print(key, dit1[key])

'''
测试用例:
12
5 2 3 3 1 3 4 2 5 2 3 5
'''

运行结果

 

举报

相关推荐

0 条评论