2024-07-04 16:45:49 发布
网友
我写了一个程序来计算最常出现的数字。除非列表中有两个最常出现的数字,如7,7,7,9,9,9,否则这个方法非常有用。为此我在信中写道:
if len(modeList) > 1 and modeList[0] != modeList[1]: break
但后来我遇到了其他问题,比如一组7,9,9,9的数字。我该怎么办。下面是我的代码,将计算一个模式。在
然后呢
print(modeList)
我们还没有学会柜台,但如果有人可以解释的话,我愿意接受!在
我会用^{}来做这个。如果存在多个模式,则会引发异常。如果您需要处理多个模式(我不清楚是否是这样),您可能希望使用NPE建议的collections.Counter对象。在
collections.Counter
我只需要使用^{}来实现:
>>> from collections import Counter >>> c = Counter([7,9,9,9,9]) >>> max(c.items(), key=lambda x:x[1])[0] 9
这真的很简单。它所做的只是计算每个值在列表中出现的次数,然后选择计数最高的元素。在
我会用^{} 来做这个。如果存在多个模式,则会引发异常。如果您需要处理多个模式(我不清楚是否是这样),您可能希望使用NPE建议的
collections.Counter
对象。在我只需要使用^{} 来实现:
这真的很简单。它所做的只是计算每个值在列表中出现的次数,然后选择计数最高的元素。在
相关问题 更多 >
编程相关推荐