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中常用的各种数据库操作模块和连接实例
May 29 Python
利用Python爬取微博数据生成词云图片实例代码
Aug 31 Python
基于Python和Scikit-Learn的机器学习探索
Oct 16 Python
pandas series序列转化为星期几的实例
Apr 11 Python
Pyqt5 基本界面组件之inputDialog的使用
Jun 25 Python
python多线程+代理池爬取天天基金网、股票数据过程解析
Aug 13 Python
pytorch 获取层权重,对特定层注入hook, 提取中间层输出的方法
Aug 17 Python
Python使用OpenPyXL处理Excel表格
Jul 02 Python
Python如何爬取b站热门视频并导入Excel
Aug 10 Python
Python实例方法、类方法、静态方法区别详解
Sep 05 Python
Python Pandas list列表数据列拆分成多行的方法实现
Dec 14 Python
Python 中如何使用 virtualenv 管理虚拟环境
Jan 21 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
论坛头像随机变换代码
2006/10/09 PHP
PHP教程 变量定义
2009/10/23 PHP
php5.3中连接sqlserver2000的两种方法(com与ODBC)
2012/12/29 PHP
PHP实现的sqlite数据库连接类
2014/12/12 PHP
PHP学习笔记(三):数据类型转换与常量介绍
2015/04/17 PHP
php实现在服务器端调整图片大小的方法
2015/06/16 PHP
php时间函数用法分析
2016/05/28 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
2016/10/17 PHP
删除PHP数组中的重复元素的实现代码
2017/04/10 PHP
仿迅雷焦点广告效果(JQuery版)
2008/11/19 Javascript
详细讲解JS节点知识
2010/01/31 Javascript
JavaScript中OnLoad几种使用方法
2012/12/15 Javascript
jQuery ui 利用 datepicker插件实现开始日期(minDate)和结束日期(maxDate)
2014/05/22 Javascript
nodejs教程之环境安装及运行
2014/11/21 NodeJs
jQuery中:first-child选择器用法实例
2014/12/31 Javascript
浅谈Javascript中Object与Function对象
2015/09/26 Javascript
jQuery EasyUI之DataGrid使用实例详解
2016/01/04 Javascript
Bootstrap Table的使用总结
2016/10/08 Javascript
jQuery的事件预绑定
2016/12/05 Javascript
javascript笔记之匿名函数和闭包
2017/02/06 Javascript
Vue.js基础指令实例讲解(各种数据绑定、表单渲染大总结)
2017/07/03 Javascript
js图片放大镜实例讲解(必看篇)
2017/07/17 Javascript
JavaScript编写的网页小游戏,很给力
2017/08/18 Javascript
[01:04:02]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第二场 1月24日
2021/03/11 DOTA
python网络编程之读取网站根目录实例
2014/09/30 Python
详解Python的Django框架中的中间件
2015/07/24 Python
Python爬虫之正则表达式基本用法实例分析
2018/08/08 Python
Pytorch DataLoader 变长数据处理方式
2020/01/08 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
2020/03/06 Python
宣传策划类求职信范文
2014/01/31 职场文书
2015年煤矿安全工作总结
2015/05/23 职场文书
签约仪式致辞
2015/07/30 职场文书
小学作文之描写天气
2019/08/15 职场文书
实战 快速定位MySQL的慢SQL
2022/03/22 MySQL
Java 超详细讲解hashCode方法
2022/04/07 Java/Android
vue中的可拖拽宽度div的实现示例
2022/04/08 Vue.js