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自动格式化json文件的方法
Mar 11 Python
深入理解python中的atexit模块
Mar 07 Python
Python自定义线程类简单示例
Mar 23 Python
使用Python读取安卓手机的屏幕分辨率方法
Mar 31 Python
Django使用AJAX调用自己写的API接口的方法
Mar 06 Python
python模拟菜刀反弹shell绕过限制【推荐】
Jun 25 Python
python如何使用socketserver模块实现并发聊天
Dec 14 Python
Python scrapy增量爬取实例及实现过程解析
Dec 24 Python
pytorch如何冻结某层参数的实现
Jan 10 Python
keras 自定义loss损失函数,sample在loss上的加权和metric详解
May 23 Python
关于keras中keras.layers.merge的用法说明
May 23 Python
python实现录音功能(可随时停止录音)
Oct 26 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图片上传程序
2008/03/27 PHP
elgg 获取文件图标地址的方法
2010/03/20 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十一)
2014/06/25 PHP
Jquery实现Div上下移动示例
2014/04/23 Javascript
整理JavaScript对DOM中各种类型的元素的常用操作
2016/05/05 Javascript
jquery ajax局部加载方法详解(实现代码)
2016/05/12 Javascript
火狐和ie下获取javascript 获取event的方法(推荐)
2016/11/26 Javascript
Vue响应式原理详解
2017/04/18 Javascript
vue使用Axios做ajax请求详解
2017/06/07 Javascript
vue2.0设置proxyTable使用axios进行跨域请求的方法
2017/10/19 Javascript
快速了解vue-cli 3.0 新特性
2018/02/28 Javascript
详解node Async/Await 更好的异步编程解决方案
2018/05/10 Javascript
详解Vue SSR( Vue2 + Koa2 + Webpack4)配置指南
2018/11/13 Javascript
javascript面向对象三大特征之多态实例详解
2019/07/24 Javascript
jquery中attr、prop、data区别与用法分析
2019/09/25 jQuery
实现vuex与组件data之间的数据同步更新方式
2019/11/12 Javascript
基于leaflet.js实现修改地图主题样式的流程分析
2020/05/15 Javascript
[46:00]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第一局
2016/03/03 DOTA
python中from module import * 的一个坑
2014/07/20 Python
详解Python匿名函数(lambda函数)
2019/04/19 Python
python 实现识别图片上的数字
2019/07/30 Python
Django 路由层URLconf的实现
2019/12/30 Python
解决import tensorflow as tf 出错的原因
2020/04/16 Python
在pytorch中动态调整优化器的学习率方式
2020/06/24 Python
基于HTML5 Canvas 实现弹出框效果
2017/06/05 HTML / CSS
AmazeUI 等分网格的实现示例
2020/08/25 HTML / CSS
美国鲜花递送:UrbanStems
2021/01/04 全球购物
struct与class的区别
2014/02/03 面试题
2013年员工自我评价范文
2013/12/27 职场文书
播音主持专业个人自我评价
2014/01/09 职场文书
大学毕业感言
2014/01/10 职场文书
师德个人剖析材料
2014/02/02 职场文书
单身申明具结书
2015/02/26 职场文书
MySQL中你可能忽略的COLLATION实例详解
2021/05/12 MySQL
MySQL 原理优化之Group By的优化技巧
2022/08/14 MySQL
关于MySQL中explain工具的使用
2023/05/08 MySQL