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 相关文章推荐
基于python3 类的属性、方法、封装、继承实例讲解
Sep 19 Python
Python决策树之基于信息增益的特征选择示例
Jun 25 Python
Python基于mysql实现学生管理系统
Feb 21 Python
django中账号密码验证登陆功能的实现方法
Jul 15 Python
Python笔记之工厂模式
Nov 20 Python
Python如何省略括号方法详解
Mar 21 Python
完美解决Django2.0中models下的ForeignKey()问题
May 19 Python
python 浮点数四舍五入需要注意的地方
Aug 18 Python
python 模拟登陆github的示例
Dec 04 Python
matplotlib grid()设置网格线外观的实现
Feb 22 Python
python数字转对应中文的方法总结
Aug 02 Python
Python通过loop.run_in_executor执行同步代码 同步变为异步
Apr 11 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 防止单引号,双引号在接受页面转义
2008/07/10 PHP
php学习之function的用法
2012/07/14 PHP
php动态生成缩略图并输出显示的方法
2015/04/20 PHP
php结合正则批量抓取网页中邮箱地址
2015/05/19 PHP
Symfony2联合查询实现方法
2016/03/18 PHP
PHP MySql增删改查的简单实例
2016/06/21 PHP
php获取目录下所有文件及目录(多种方法)(推荐)
2019/05/14 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
2019/10/08 PHP
jquery如何把数组变为字符串传到服务端并处理
2014/04/30 Javascript
浅谈重写window对象的方法
2014/12/29 Javascript
jQuery mobile 移动web(6)
2015/12/20 Javascript
利用JQuery写一个简单的异步分页插件
2016/03/07 Javascript
bootstrap table 数据表格行内修改的实现代码
2017/02/13 Javascript
JS中精巧的自动柯里化实现方法
2017/12/12 Javascript
nodeJs爬虫的技术点总结
2018/05/13 NodeJs
js中的 || 与 && 运算符详解
2018/05/24 Javascript
python实现从web抓取文档的方法
2014/09/26 Python
Windows下安装Django框架的方法简明教程
2018/03/28 Python
Python3.6.0+opencv3.3.0人脸检测示例
2018/05/25 Python
python面向对象多线程爬虫爬取搜狐页面的实例代码
2018/05/31 Python
对matplotlib改变colorbar位置和方向的方法详解
2018/12/13 Python
pytorch查看torch.Tensor和model是否在CUDA上的实例
2020/01/03 Python
python GUI库图形界面开发之PyQt5信号与槽基本操作
2020/02/25 Python
keras 权重保存和权重载入方式
2020/05/21 Python
Python学习之os模块及用法
2020/06/03 Python
Python常用模块函数代码汇总解析
2020/08/31 Python
HTML实现代码雨源码及效果示例
2020/02/25 HTML / CSS
教育学专业毕业生的自我评价
2013/11/21 职场文书
大四学生思想汇报
2014/01/13 职场文书
讲座通知范文
2015/04/23 职场文书
信用卡催款律师函
2015/05/27 职场文书
实验室安全管理制度
2015/08/05 职场文书
烈士陵园扫墓感想
2015/08/07 职场文书
小学秋季运动会通讯稿
2015/11/25 职场文书
分享15个Webpack实用的插件!!!
2021/03/31 Javascript
《王国之心》迎来了发售的20周年, 野村哲发布贺图
2022/04/11 其他游戏