【问题标题】:how do i get the biggest and most frequent number in a dictionary?我如何获得字典中最大和最频繁的数字?
【发布时间】:2018-04-29 20:23:54
【问题描述】:
我有一个号码
(23452)
我的函数返回这个数字中最频繁的 num 和最高的一个。
对于上面的数字,它应该返回'2',对于'225566',它应该返回'6'
我试过了:
def most_popular_digit(num):
pop_dig = {}
c = str(num)
for n in range(len(c)):
count = pop_dig.get(c[n],0)
count += 1
pop_dig[c[n]] = count
list_keys = pop_dig.keys()
sorted_num = sorted(list_keys, key=pop_dig.get)
但我不知道如何获得最高出现次数的最高数字。
【问题讨论】:
标签:
sorting
dictionary
tuples
【解决方案1】:
设法弄清楚:
def most_popular_digit(num):
pop_dig = {}
c = str(num)
for n in range(len(c)):
count = pop_dig.get(c[n],0)
count += 1
pop_dig[c[n]] = count
list_keys = pop_dig.keys()
sorted_num = sorted(list_keys, key=pop_dig.get)
a = pop_dig.keys()
b = pop_dig.values()
if b.index(max(b)) == a.index(max(a)):
return a[a.index(max(a))]
else:
return sorted_num[-1]