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 encode和decode的妙用
Sep 02 Python
零基础写python爬虫之使用urllib2组件抓取网页内容
Nov 04 Python
Python实现批量读取word中表格信息的方法
Jul 30 Python
python数据结构之列表和元组的详解
Sep 23 Python
python中的随机函数random的用法示例
Jan 27 Python
Odoo中如何生成唯一不重复的序列号详解
Feb 10 Python
Python3中正则模块re.compile、re.match及re.search函数用法详解
Jun 11 Python
python 画二维、三维点之间的线段实现方法
Jul 07 Python
Python文件读写w+和r+区别解析
Mar 26 Python
Python实现电视里的5毛特效实例代码详解
May 15 Python
Python基础教程之输入输出和运算符
Jul 26 Python
Python如何执行精确的浮点数运算
Jul 31 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
德劲1107的电路分析与打磨
2021/03/02 无线电
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
2009/08/07 PHP
php 文章采集正则代码
2009/12/28 PHP
php json_encode奇怪问题说明
2011/09/27 PHP
PHP生成唯一订单号
2015/07/05 PHP
Zend Framework基本页面布局分析
2016/03/19 PHP
php Session无效分析资料整理
2016/11/29 PHP
Thinkphp极验滑动验证码实现步骤解析
2020/11/24 PHP
js读取本地excel文档数据的代码
2010/11/11 Javascript
JQuery1.6 使用方法三
2011/11/23 Javascript
javascript的原生方法获取数组中的最大(最小)值
2012/12/19 Javascript
深入理解javascript中return的作用
2013/12/30 Javascript
js获取指定的cookie的具体实现
2014/02/20 Javascript
JavaScript通过字符串调用函数的实现方法
2015/03/18 Javascript
jquery中ajax跨域方法实例分析
2015/12/18 Javascript
bootstrap布局中input输入框右侧图标点击功能
2016/05/16 Javascript
AngularJS ng-change 指令的详解及简单实例
2016/07/30 Javascript
AngularJS ng-template寄宿方式用法分析
2016/11/07 Javascript
JS前端加密算法示例
2016/12/22 Javascript
vue.js中toast用法及使用toast弹框的实例代码
2018/08/27 Javascript
JS实现横向轮播图(初级版)
2020/06/24 Javascript
js禁止查看源文件屏蔽Ctrl+u/s、F12、右键等兼容IE火狐chrome
2020/10/01 Javascript
python操作mongodb根据_id查询数据的实现方法
2015/05/20 Python
django中的setting最佳配置小结
2017/11/21 Python
pandas将DataFrame的列变成行索引的方法
2018/04/10 Python
python操作xlsx文件的包openpyxl实例
2018/05/03 Python
在Pycharm中将pyinstaller加入External Tools的方法
2019/01/16 Python
python sort、sort_index方法代码实例
2019/03/28 Python
Pytorch修改ResNet模型全连接层进行直接训练实例
2019/09/10 Python
Draper James官网:知名演员瑞茜·威瑟斯彭所创品牌
2017/10/25 全球购物
捷克多品牌在线时尚商店:ANSWEAR.cz
2020/10/03 全球购物
枚举与#define宏的区别
2014/04/30 面试题
财务管理专业推荐信
2013/11/19 职场文书
人力资源经理的岗位职责
2014/03/02 职场文书
工人先进事迹材料
2014/12/26 职场文书
张丽莉观后感
2015/06/16 职场文书