为了账号安全,请及时绑定邮箱和手机立即绑定

查找列表模式

查找列表模式

人到中年有点甜 2019-11-12 10:13:42
给定项目列表,请记住,列表的模式是最常出现的项目。我想知道如何创建一个函数,该函数可以找到列表的模式,但是如果列表不具有模式(例如,列表中的所有项目仅出现一次),则会显示一条消息。我想使此功能不导入任何功能。我正在尝试从头开始做我自己的功能。
查看完整描述

3 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

您可以使用max功能和键。看看使用'key'和lambda表达式的python max函数。


max(set(list), key=list.count)


查看完整回答
反对 回复 2019-11-12
?
Qyouu

TA贡献1786条经验 获得超11个赞

您可以使用具有-esque函数Counter的collections软件包中提供的mode


from collections import Counter

data = Counter(your_list_in_here)

data.most_common()   # Returns all unique items and their counts

data.most_common(1)  # Returns the highest occurring item

注意:Counter在python 2.7中是新的,在早期版本中不可用。


查看完整回答
反对 回复 2019-11-12
?
千万里不及你

TA贡献1784条经验 获得超9个赞

从一些统计软件(即SciPy和MATLAB)中获取一个叶子,它们只会返回最小的最常用值,因此,如果两个值相等地频繁出现,则将返回其中最小的一个。希望有一个例子可以帮助:


>>> from scipy.stats import mode


>>> mode([1, 2, 3, 4, 5])

(array([ 1.]), array([ 1.]))


>>> mode([1, 2, 2, 3, 3, 4, 5])

(array([ 2.]), array([ 2.]))


>>> mode([1, 2, 2, -3, -3, 4, 5])

(array([-3.]), array([ 2.]))

有什么原因导致您无法遵守该约定?


查看完整回答
反对 回复 2019-11-12
  • 3 回答
  • 0 关注
  • 302 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信