python: 求一个数字中出现频率最高的数。 例如:longestDigitRun(11777332) return 7
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python: 求一个数字中出现频率最高的数。 例如:longestDigitRun(11777332) return 7相关的知识,希望对你有一定的参考价值。
参考技术A 我想了种恶心的方法。嘿嘿。不过是可以实现的。像下面的什么from collections import Counter我发现我的3.x不能运行。 如果某个数字出现的最高次数相等,就应该是多个数,而不是一个数字,所以结果我认为应该是个列表。mydic =
getkey = ''
mylist =[]
in_str = input('input your number: ')
for evestr in in_str:
myitem = in_str.count(evestr)
mydic[evestr] = myitem
for k in mydic.keys():
if mydic[k] == max(mydic.values()):
mylist.append(k)
print(list(set(mylist))) 参考技术B def longestDigitRun(num):
a = str(num)
return int(reduce(lambda x,y: x if a.count(x) > a.count(y) else y,set(a)))
print longestDigitRun(11777332)
把 int 转化成 str 就很好处理了,python对字符串的操作非常强大。 参考技术C from collections import Counter
def longestDigitRun(num):
return int(Counter(str(num)).most_common(1)[0][0])
print longestDigitRun(11777332)
注意这个假设你的python版本是2.7
参考资料:http://docs.python.org/2/library/collections.html#collections.Counter
参考技术D def longestDigitRun(arg):strarg = str(arg)
v = 0
for i in range(10):
u = 0
for j in range(len(strarg)):
if i == int(strarg[j]):
u = u+1
if u > v:
v = u
k = i
print(i,v)
return(k)
print(longestDigitRun(17777733321))
凑合一下能用。试试看。 第5个回答 2013-01-31 def longestDigitRun(number):
number = str(number)
count = [0,0,0,0,0,0,0,0,0,0]
for d in number:
count[int(d)] = count[int(d)] + 1
max = 0
index = -1
i = 0
for n in count:
if max < n:
max = n
index = i
i = i + 1
return index
print longestDigitRun(11777332)
Python练习题3.6求整数序列中出现次数最多的数-修正版
本题要求统计一个整型序列中出现次数最多的整数及其出现次数。
输入格式:
输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数。数字间以空格分隔。
输出格式:
在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。
代码如下:
#!/usr/bin/python # -*- coding: utf-8 -*- s = list(map(int,input().split(" "))) s1 = s[1:] s2 = list() for i in range(0,len(s1)): v = s1.count(s1[i]) s2.append(v) m = max(s2) n = s2.index(m) print(s1[n],int(m))
原文链接:https://www.cnblogs.com/Renqy/p/12718089.html
原文没有切片,第一个整数个数也计算进去了,半天找不到错误。
读书和健身总有一个在路上
以上是关于python: 求一个数字中出现频率最高的数。 例如:longestDigitRun(11777332) return 7的主要内容,如果未能解决你的问题,请参考以下文章
Python练习题3.6求整数序列中出现次数最多的数-修正版
求一个程序,要求是: 设计一个函数,以字符串为参数,返回该字符串中出现频率最高的字符。
python输入一段英文文本,统计出现频率最高的前5个单词?