(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)
但是我无法弄清楚如何获得具有最高外观的最高数字。
答案 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]