【发布时间】:2016-04-09 11:43:56
【问题描述】:
所以我试图创建一个函数,它将接受一个参数 numlist(一个非空的数字列表),并返回在 numlist 中出现频率最高的排序的数字列表。
到目前为止,我已经设法创建了一个字典(数字作为键,它们的频率作为值)。但是我仍然想找出其中哪一个具有最大值并将其返回。问题是我不知道如何比较它们。现在有一些这样的单行
max(stats, key=stats.get)
但是,如果有多个值满足该要求怎么办?
mode([5, 1, 1, 5])
#I'm guessing this should return [1, 5] if sorted...
你会如何处理它?感谢您提供任何帮助!
这是我的代码:
def mode(numlist):
mylist = numlist
dic = {}
for num in mylist:
if num in dic:
dic[num] += 1
else:
dic[num] = 1
# try to get the max value and return them in a set form like [1, 0]
【问题讨论】:
-
因此,如果您有多个最大值,您想在列表中返回多个最大值吗?就像 6 和 7 出现的最大次数一样?
-
@idjaw 是的,没错
-
您能否在您的问题中添加示例输入和期望输出?
-
@Kasramvd 上面有一个。该模式需要 [1, 5] 输出我检查了要求。很抱歉造成混乱。
标签: python list python-3.x