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操作CouchDB数据库简单示例
Mar 10 Python
用Python实现协同过滤的教程
Apr 08 Python
用C++封装MySQL的API的教程
May 06 Python
Python编程生成随机用户名及密码的方法示例
May 05 Python
浅谈numpy数组中冒号和负号的含义
Apr 18 Python
Python 数值区间处理_对interval 库的快速入门详解
Nov 16 Python
python3使用matplotlib绘制条形图
Mar 25 Python
Python使用selenium + headless chrome获取网页内容的方法示例
Oct 16 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
Feb 07 Python
Python中包的用法及安装
Feb 11 Python
Spark处理数据排序问题如何避免OOM
May 21 Python
Python 的演示平台支持 WSGI 接口的应用
Apr 20 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将session信息存储到数据库的类实例
2015/03/04 PHP
PHP获取一年有几周以及每周开始日期和结束日期
2015/08/06 PHP
php正则匹配文章中的远程图片地址并下载图片至本地
2015/09/29 PHP
thinkPHP5.1框架使用SemanticUI实现分页功能示例
2019/08/03 PHP
脚本安需导入(装载)的三种模式的对比
2007/06/24 Javascript
推荐11款jQuery开发的复选框和单选框美化插件
2011/08/02 Javascript
基于jQuery实现的百度导航li拖放排列效果,即时更新数据库
2012/07/31 Javascript
setTimeout内不支持jquery的选择器的解决方案
2015/04/28 Javascript
jquery实现简单的二级导航下拉菜单效果
2015/09/07 Javascript
AngularJS使用ngMessages进行表单验证
2015/12/27 Javascript
浅谈javascript中的数据类型转换
2016/12/27 Javascript
HTML的select控件美化
2017/03/27 Javascript
微信小程序的日期选择器的实例详解
2017/09/29 Javascript
javascript中new Array()和var arr=[]用法区别
2017/12/01 Javascript
Vuex提升学习篇
2018/01/11 Javascript
vue实例中data使用return包裹的方法
2018/08/27 Javascript
简单了解JavaScript中常见的反模式
2019/06/21 Javascript
vue实现点击按钮下载文件功能
2019/10/11 Javascript
如何在微信小程序中存setStorage
2019/12/13 Javascript
python实现进程间通信简单实例
2014/07/23 Python
在Python中调用ggplot的三种方法
2015/04/08 Python
python简单的函数定义和用法实例
2015/05/07 Python
Python访问MongoDB,并且转换成Dataframe的方法
2018/10/15 Python
Python argparse模块应用实例解析
2019/11/15 Python
Python logging模块原理解析及应用
2020/08/13 Python
CSS3常用的几种颜色渐变模式总结
2016/11/18 HTML / CSS
DKNY品牌官网:纽约大都会时尚风格
2016/10/20 全球购物
Lulu Guinness露露·吉尼斯官网:红唇包
2019/02/03 全球购物
英国屋顶用品和材料超市:Roofing Supplies UK
2019/08/24 全球购物
STP协议的主要用途是什么?为什么要用STP
2012/12/20 面试题
工程专业求职自荐书范文
2014/02/08 职场文书
上海世博会口号
2014/06/19 职场文书
镇人大副主席民主生活会对照检查材料思想汇报
2014/10/01 职场文书
领导班子四风问题个人对照检查材料
2014/10/04 职场文书
离婚财产分隔协议书
2014/10/23 职场文书
CSS3新特性详解(五):多列columns column-count和flex布局
2021/04/30 HTML / CSS