如何在字典中获得最大和最频繁的数字?

时间:2017-11-16 10:29:04

标签: sorting dictionary tuples

我有个号码 (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)

但是我无法弄清楚如何获得具有最高外观的最高数字。

1 个答案:

答案 0 :(得分:0)

成功解决了这个问题:

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]