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 matplotlib中文显示参数设置解析
Dec 15 Python
Python中if elif else及缩进的使用简述
May 31 Python
Anaconda2下实现Python2.7和Python3.5的共存方法
Jun 11 Python
pip安装py_zipkin时提示的SSL问题对应
Dec 29 Python
Python3+OpenCV2实现图像的几何变换(平移、镜像、缩放、旋转、仿射)
May 13 Python
Python3.8中使用f-strings调试
May 22 Python
python实现ip地址查询经纬度定位详解
Aug 30 Python
Python3 pandas 操作列表实例详解
Sep 23 Python
Python列表原理与用法详解【创建、元素增加、删除、访问、计数、切片、遍历等】
Oct 30 Python
Python pygame绘制文字制作滚动文字过程解析
Dec 12 Python
Python中常见的导入方式总结
May 06 Python
关于python中模块和重载的问题
Nov 02 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 XML备份Mysql数据库
2009/05/27 PHP
分享五个PHP7性能优化提升技巧
2015/12/07 PHP
js对象之JS入门之Array对象操作小结
2011/01/09 Javascript
jQuery+CSS 实现随滚动条增减的汽水瓶中的液体效果
2011/09/26 Javascript
js 文本滚动效果的实例代码
2013/08/17 Javascript
JavaScript实现url地址自动检测并添加URL链接示例代码
2013/11/12 Javascript
js如何判断用户是否是用微信浏览器
2014/06/05 Javascript
JavaScript中常见获取元素的方法汇总
2015/03/04 Javascript
javascript实现保留两位小数的多种方法
2015/12/18 Javascript
利用angularjs1.4制作的简易滑动门效果
2017/02/28 Javascript
JS中去掉array中重复元素的方法
2017/05/26 Javascript
Angular实现图片裁剪工具ngImgCrop实践
2017/08/17 Javascript
Angular模版驱动表单的使用总结
2018/05/05 Javascript
Javascript格式化并高亮xml字符串的方法及注意事项
2018/08/13 Javascript
jQuery实现的网站banner图片无缝轮播效果完整实例
2019/01/28 jQuery
JS实现可切换图片的幻灯切换效果示例
2019/05/24 Javascript
Vue toFixed保留两位小数的3种方式
2020/10/23 Javascript
Python类定义和类继承详解
2015/05/08 Python
python使用xslt提取网页数据的方法
2018/02/23 Python
分享8个非常流行的 Python 可视化工具包
2019/06/05 Python
Python.append()与Python.expand()用法详解
2019/12/18 Python
Python基于Tensor FLow的图像处理操作详解
2020/01/15 Python
python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
2020/02/26 Python
python批量修改xml属性的实现方式
2020/03/05 Python
HTML5中的autofocus(自动聚焦)属性介绍
2014/04/23 HTML / CSS
Kusmi茶美国官网:优质散叶茶和茶包
2019/10/13 全球购物
介绍一下Ruby的多线程处理
2013/02/01 面试题
2014新年元旦活动策划方案
2014/02/18 职场文书
医学生求职自荐书
2014/06/12 职场文书
学习十八届四中全会精神思想汇报
2014/10/23 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书
2015年教师节活动总结
2015/03/20 职场文书
2015法院个人工作总结范文
2015/05/25 职场文书
JavaScript 实现页面滚动动画
2021/04/24 Javascript
MySQL中几种插入和批量语句实例详解
2021/09/14 MySQL
利用js实现简单开关灯代码
2021/11/23 Javascript