题目:输出一个数组中个数最多的k个数
代码:
####输入元素,每输入一个元素,一个回车
A = []
fea=int(input('请输入数组,每输入一位,回车,以-1结束\n'))
while fea!=-1:
A.append(fea)
fea = int(input('每输入一位,回车,以-1结束\n'))
#用字典统计每个数字的个数
dictA = {}
num=int(input('请输入一个k\n'))
#
for i in A:
if i in dictA:
dictA[i] += 1
else:
dictA[i] = 1
#print(dictA)
#排序,从个数多到少
Asort=sorted(dictA.items(),key=lambda x:x[1],reverse=True)
#print(Asort)
#将元素保存起来
Akey=[i[0] for i in Asort]
#处理边界
if num>len(Akey):
num=len(Akey)
while (num<0):
print('请输入一个大于0的数')
num = int(input('请输入一个k\n'))
print('前两位分别为:')
for i in range(num):
print (Akey[i])
#print(A)