python求众数问题实例


Posted in Python onSeptember 26, 2014

本文实例讲述了python求众数问题的方法,是一个比较典型的应用。分享给大家供大家参考。具体如下:

问题描述:

多重集中重数最大的元素称为众数...就是一个可以有重复元素的集合,在这个集合中重复的次数最多的那个数就叫它的众数...
如S = [1,2,2,2,3,5] 重数是2,其重数为3

实例代码如下:

list_num = []
list_num_count = 0
dict_num ={}
#从文件读入,文件第一行为集合中元素的个数,以后每一行为一个元素
list_num_count = int(open('input.txt','r').readline())
for line_num, line in enumerate(open("input.txt",'r')):
  if line_num > 0:
    list_num += line.split()
#将读到的元素加入的字典中
for item in list_num:
  if dict_num.has_key(item):
    dict_num[item] += 1
  else:
    dict_num.setdefault(item,1)
  pass

#找到出现次数最多的那个数,找到重数
dict_sort_by_top = {}
top_value = 0
for valus in dict_num.itervalues():
  if valus> top_value:
    top_value = valus
  pass

#根据重数找到众数...这是因为考虑到可能有多个元素有相同多的重数
the_pop_num = 0
the_pop_num_count = 0
for keys,values in dict_num.iteritems():
  if values == top_value:
    print 'the pop num is %s,and the appear num is %s' % (keys,values)
    the_pop_num = keys
    the_pop_num_count = values
#输出到文件,第一行为从数,第二行为重数
write_line = '%s\n%s' %(the_pop_num, the_pop_num_count)
open("output.txt",'w').write(write_line)

这里假设有同级目录文件input.txt内容如下:

8
11
37
2
37
2
45
99
37

第一行的8代表元素个数,其后每一行有一个元素。

测试环境为Python2.7.6,

Python程序针对input.txt文件操作的运行结果如下:

the pop num is 37,and the appear num is 3

同时生成output.txt文件记录了众数37及其重复次数3。

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
如何在Python函数执行前后增加额外的行为
Oct 20 Python
Python 给某个文件名添加时间戳的方法
Oct 16 Python
详解python做UI界面的方法
Feb 27 Python
django使用django-apscheduler 实现定时任务的例子
Jul 20 Python
python实现多线程端口扫描
Aug 31 Python
在pycharm中实现删除bookmark
Feb 14 Python
keras 获取某层输出 获取复用层的多次输出实例
May 23 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
Jun 08 Python
Python魔术方法专题
Jun 19 Python
python解包用法详解
Feb 17 Python
手把手教你使用TensorFlow2实现RNN
Jul 15 Python
python 安全地删除列表元素的方法
Mar 16 Python
python字典序问题实例
Sep 26 #Python
python计算书页码的统计数字问题实例
Sep 26 #Python
python实现从web抓取文档的方法
Sep 26 #Python
python实现udp数据报传输的方法
Sep 26 #Python
python使用Berkeley DB数据库实例
Sep 26 #Python
python实现通过shelve修改对象实例
Sep 26 #Python
python实现在pickling的时候压缩的方法
Sep 25 #Python
You might like
深入理解PHP原理之错误抑制与内嵌HTML分析
2011/05/02 PHP
php中计算程序运行时间的类代码
2012/11/03 PHP
javascript实现的使用方向键控制光标在table单元格中切换
2010/11/17 Javascript
Extjs4 关于Store的一些操作(加载/回调/添加)
2013/04/18 Javascript
浅谈js图片前端预览之filereader和window.URL.createObjectURL
2016/06/30 Javascript
JavaScript实现body内任意节点的自定义属性功能示例
2017/09/18 Javascript
基于Vue自定义指令实现按钮级权限控制思路详解
2018/05/23 Javascript
vuex实现及简略解析(小结)
2019/03/01 Javascript
JS添加或删除HTML dom元素的方法实例分析
2019/03/05 Javascript
vue无限轮播插件代码实例
2019/05/10 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
JavaScript 中的无穷数(Infinity)详解
2020/02/13 Javascript
Node.js API详解之 dns模块用法实例分析
2020/05/15 Javascript
微信小程序弹窗禁止页面滚动的实现代码
2020/12/30 Javascript
[01:08:44]NB vs VP 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python中的魔法方法深入理解
2014/07/09 Python
使用Python开发windows GUI程序入门实例
2014/10/23 Python
举例讲解Python中的算数运算符的用法
2015/05/13 Python
Python定时器实例代码
2017/11/01 Python
python 删除非空文件夹的实例
2018/04/26 Python
Python实现的堆排序算法示例
2018/04/29 Python
python+ffmpeg批量去视频开头的方法
2019/01/09 Python
Django中信号signals的简单使用方法
2019/07/04 Python
Python实现弹球小游戏
2020/08/01 Python
如何将anaconda安装配置的mmdetection环境离线拷贝到另一台电脑
2020/10/15 Python
大学毕业生简单自荐信
2013/11/05 职场文书
影视制作岗位职责
2013/12/04 职场文书
办加油卡单位介绍信
2014/01/09 职场文书
材料工程专业毕业生求职信
2014/03/04 职场文书
运动会演讲稿
2014/05/07 职场文书
小学国庆节活动方案策划书
2014/09/16 职场文书
个人查摆问题及整改措施
2014/10/16 职场文书
客服专员岗位职责范本
2015/04/07 职场文书
2015年售后服务工作总结
2015/04/25 职场文书
离职证明格式样本
2015/06/12 职场文书
小学语文教师研修日志
2015/11/13 职场文书