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 相关文章推荐
Mac下Supervisor进程监控管理工具的安装与配置
Dec 16 Python
python thrift搭建服务端和客户端测试程序
Jan 17 Python
python如何压缩新文件到已有ZIP文件
Mar 14 Python
python 把文件中的每一行以数组的元素放入数组中的方法
Apr 29 Python
Python 统计字数的思路详解
May 08 Python
浅析Python装饰器以及装饰器模式
May 28 Python
flask中过滤器的使用详解
Aug 01 Python
django-crontab 定时执行任务方法的实现
Sep 06 Python
python else语句在循环中的运用详解
Jul 06 Python
python3环境搭建过程(利用Anaconda+pycharm)完整版
Aug 19 Python
python在CMD界面读取excel所有数据的示例
Sep 28 Python
Python Web项目Cherrypy使用方法镜像
Nov 05 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实现手机归属地查询API接口实现代码
2012/08/27 PHP
PHP中使用addslashes函数转义的安全性原理分析
2014/11/03 PHP
微信公众平台接口开发入门示例
2014/12/24 PHP
PHP基于DOMDocument解析和生成xml的方法分析
2017/07/17 PHP
laravel 中某一字段自增、自减的例子
2019/10/11 PHP
php实现快速对二维数组某一列进行组装的方法小结
2019/12/04 PHP
做网页的一些技巧(续)
2007/02/01 Javascript
jquery图片放大镜效果
2017/06/23 jQuery
vue路由跳转时判断用户是否登录功能的实现
2017/10/26 Javascript
JS实现登录页密码的显示和隐藏功能
2017/12/06 Javascript
说说node中的可读流和可写流的区别
2018/06/01 Javascript
Vue组件的使用及个人理解与介绍
2019/02/09 Javascript
Vue 前端实现登陆拦截及axios 拦截器的使用
2019/07/17 Javascript
vue-cli3.X快速创建项目的方法步骤
2019/11/14 Javascript
vue搜索页开发实例代码详解(热门搜索,历史搜索,淘宝接口演示)
2020/04/11 Javascript
[15:09]DOTA2国际邀请赛采访专栏:Loda
2013/08/06 DOTA
从请求到响应过程中django都做了哪些处理
2018/08/01 Python
Python中Numpy mat的使用详解
2019/05/24 Python
如何用Python制作微信好友个性签名词云图
2019/06/28 Python
利用matplotlib实现根据实时数据动态更新图形
2019/12/13 Python
Python切割图片成九宫格的示例代码
2020/03/10 Python
windows python3安装Jupyter Notebooks教程
2020/04/13 Python
keras CNN卷积核可视化,热度图教程
2020/06/22 Python
ghd官网:英国ghd直发器品牌
2018/05/04 全球购物
英国游戏机和游戏购物网站:365games.co.uk
2018/06/18 全球购物
命名空间(namespace)和程序集(Assembly)有什么区别
2015/09/25 面试题
Linux文件操作命令都有哪些
2015/02/27 面试题
大学生毕业求职找工作的自我评价
2013/09/29 职场文书
霸气押韵的班级口号
2014/06/09 职场文书
淘宝客服工作职责
2014/07/11 职场文书
工作经历证明书范文
2014/11/02 职场文书
幼儿园小班家长评语
2014/12/30 职场文书
党风廉政建设调研报告
2015/01/01 职场文书
邀请函范文
2015/02/02 职场文书
民事起诉状范文
2015/05/19 职场文书
《灰雀》教学反思
2016/02/19 职场文书