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之模块的加载
Oct 24 Python
Python和GO语言实现的消息摘要算法示例
Mar 10 Python
python中根据字符串调用函数的实现方法
Jun 12 Python
Zabbix实现微信报警功能
Oct 09 Python
python web自制框架之接受url传递过来的参数实例
Dec 17 Python
python判断文件是否存在,不存在就创建一个的实例
Feb 18 Python
关于python中密码加盐的学习体会小结
Jul 15 Python
在matplotlib中改变figure的布局和大小实例
Apr 23 Python
基于打开pycharm有带图片md文件卡死问题的解决
Apr 24 Python
Python HTMLTestRunner库安装过程解析
May 25 Python
python从ftp获取文件并下载到本地
Dec 05 Python
Django框架中模型的用法
Jun 10 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结点属性的实现代码
2013/10/22 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
2016/12/29 PHP
PHP实现权限管理功能示例
2017/09/22 PHP
Javascript 实现TreeView CheckBox全选效果
2010/01/11 Javascript
json-lib出现There is a cycle in the hierarchy解决办法
2010/02/24 Javascript
jquery 无限级联菜单案例分享
2013/03/26 Javascript
JavaScript学习心得之概述
2015/01/20 Javascript
Bootstrap每天必学之简单入门
2015/11/19 Javascript
浅谈javascript 函数表达式和函数声明的区别
2016/01/05 Javascript
利用Node.js制作爬取大众点评的爬虫
2016/09/22 Javascript
javascript实现无法关闭的弹框
2016/11/27 Javascript
canvas实现探照灯效果
2017/02/07 Javascript
详解Angular.js数据绑定时自动转义html标签及内容
2017/03/30 Javascript
详解Angular 4.x 动态创建组件
2017/04/25 Javascript
详解SPA中前端路由基本原理与实现方式
2018/09/12 Javascript
js时间戳转yyyy-MM-dd HH-mm-ss工具类详解
2019/04/30 Javascript
vue实现PC端录音功能的实例代码
2019/06/05 Javascript
layui表格数据重载
2019/07/27 Javascript
vue tab滚动到一定高度,固定在顶部,点击tab切换不同的内容操作
2020/07/22 Javascript
[07:47]DOTA2国际邀请赛采访专栏:探访Valve总部
2013/08/08 DOTA
python抓取网页图片示例(python爬虫)
2014/04/27 Python
python实现简单的TCP代理服务器
2014/10/08 Python
初步解析Python下的多进程编程
2015/04/28 Python
详解Python nose单元测试框架的安装与使用
2017/12/20 Python
Python3之文件读写操作的实例讲解
2018/01/23 Python
python实现泊松图像融合
2018/07/26 Python
详解如何为eclipse安装合适版本的python插件pydev
2018/11/04 Python
python 实现倒排索引的方法
2018/12/25 Python
浅析PEP572: 海象运算符
2019/10/15 Python
pandas实现excel中的数据透视表和Vlookup函数功能代码
2020/02/14 Python
TensorFlow Autodiff自动微分详解
2020/07/06 Python
利用Python实现斐波那契数列的方法实例
2020/07/26 Python
Python类的继承super相关原理解析
2020/10/22 Python
python 制作本地应用搜索工具
2021/02/27 Python
HTML5中的postMessage API基本使用教程
2016/05/20 HTML / CSS
2015年学校少先队工作总结
2015/07/20 职场文书