python 统计数组中元素出现次数并进行排序的实例


Posted in Python onJuly 02, 2018

如下所示:

lis = [12,34,456,12,34,66,223,12,5,66,12,23,66,12,66,5,456,12,66,34,5,34]

def test1():
  #进行去重
  c = []
  for i in lis:
    if i not in c:
      c.append(i)
  #进行统计,生成二维列表
  b = []
  for i in c:
    num = 0
    for j in range(len(lis)):
      if lis[j] == i:
        num += 1
    a = []
    a.append(i)
    a.append(num)
    b.append(a)
  # 排序算法,按出现次数进行降序排列
  for i in range(len(b)):
    for j in range(i,len(b)):
      if b[i][1] < b[j][1]:
        temp = b[i]
        b[i] = b[j]
        b[j] = temp
  print(b)

def test2():
  # set进行去重,进行统计生成二维列表
  b = []
  for i in list(set(lis)):
    num = 0
    for j in range(len(lis)):
      if lis[j] == i:
        num += 1
    a = []
    a.append(i)
    a.append(num)
    b.append(a)
  # 排序算法,按出现次数进行降序排列
  for i in range(len(b)):
    for j in range(i,len(b)):
      if b[i][1] < b[j][1]:
        temp = b[i]
        b[i] = b[j]
        b[j] = temp
  print(b)

def test3():
  # 统计元素出现次数,元素为key,次数为value,生成字典
  a = {}
  for i in lis:
    if i in a:
      a[i] = a[i] + 1
    else:
      a[i] = 1
  # 使用sorted对字典进行排序
  b = sorted(a.items(),key=lambda item:item[1],reverse=True)
  print(b)

def test4():
  from collections import Counter
  import operator
  #进行统计
  a = dict(Counter(lis))
  #进行排序
  b= sorted(a.items(), key=operator.itemgetter(1),reverse=True)
  print(b)

if __name__ == '__main__':
  test1()
  test2()
  test3()
  test4()

输出结果如下:

[[12, 6], [66, 5], [34, 4], [5, 3], [456, 2], [223, 1], [23, 1]]
[[12, 6], [66, 5], [34, 4], [5, 3], [456, 2], [23, 1], [223, 1]]
[(12, 6), (66, 5), (34, 4), (5, 3), (456, 2), (23, 1), (223, 1)]
[(12, 6), (66, 5), (34, 4), (5, 3), (456, 2), (23, 1), (223, 1)]

这是面试过程中遇到的一个问题找到的解决方法,总结了一下,小编是初学者,还需不断努力学习。

以上这篇python 统计数组中元素出现次数并进行排序的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 文件操作技巧(File operation) 实例代码分析
Aug 11 Python
python局部赋值的规则
Mar 07 Python
用python简单实现mysql数据同步到ElasticSearch的教程
May 30 Python
解决python 无法加载downsample模型的问题
Oct 25 Python
python+pyqt5编写md5生成器
Mar 18 Python
Python全栈之列表数据类型详解
Oct 01 Python
Python 元组拆包示例(Tuple Unpacking)
Dec 24 Python
python实现按关键字筛选日志文件
Dec 24 Python
keras 权重保存和权重载入方式
May 21 Python
python与js主要区别点总结
Sep 13 Python
通用的Django注册功能模块实现方法
Feb 05 Python
Python采集爬取京东商品信息和评论并存入MySQL
Apr 12 Python
分享vim python缩进等一些配置
Jul 02 #Python
实践Vim配置python开发环境
Jul 02 #Python
用python实现将数组元素按从小到大的顺序排列方法
Jul 02 #Python
Django实现分页功能
Jul 02 #Python
详解python单元测试框架unittest
Jul 02 #Python
python中多层嵌套列表的拆分方法
Jul 02 #Python
python中int与str互转方法
Jul 02 #Python
You might like
php获取后台Job管理的实现代码
2011/06/10 PHP
PHP跳转页面的几种实现方法详解
2013/06/08 PHP
PHP获取文件夹内文件数的方法
2015/03/12 PHP
详解php比较操作符的安全问题
2015/12/03 PHP
yii2实现根据时间搜索的方法
2016/05/25 PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
2017/02/17 PHP
再谈Yii Framework框架中的事件event原理与应用
2020/04/07 PHP
php解析非标准json、非规范json的方式实例
2020/12/10 PHP
javascript Split方法,indexOf方法、lastIndexOf 方法和substring 方法
2009/03/21 Javascript
一个背景云变换js特效 鼠标移动背景云变化
2012/12/28 Javascript
javascript打印大全(打印页面设置/打印预览代码)
2013/03/29 Javascript
jQuery 中国省市两级联动选择附图
2014/05/14 Javascript
最精简的JavaScript实现鼠标拖动效果的方法
2015/05/11 Javascript
实例剖析AngularJS框架中数据的双向绑定运用
2016/03/04 Javascript
Seajs 简易文档 提供简单、极致的模块化开发体验
2016/04/13 Javascript
浅谈jQuery 选择器和dom操作
2016/06/07 Javascript
Vue.js开发环境快速搭建教程
2017/03/17 Javascript
vue如何引入sass全局变量
2018/06/28 Javascript
Three.js实现3D机房效果
2018/12/30 Javascript
微信小程序云开发获取文件夹下所有文件(推荐)
2019/11/14 Javascript
JS实现滑动拼图验证功能完整示例
2020/03/29 Javascript
python中执行shell命令的几个方法小结
2014/09/18 Python
Python 多线程抓取图片效率对比
2016/02/27 Python
Python中使用插入排序算法的简单分析与代码示例
2016/05/04 Python
Windows下python2.7.8安装图文教程
2016/05/26 Python
Python 一键制作微信好友图片墙的方法
2019/05/16 Python
python 解决flask uwsgi 获取不到全局变量的问题
2019/12/22 Python
通过实例解析Python文件操作实现步骤
2020/09/21 Python
python语言实现贪吃蛇游戏
2020/11/13 Python
HTML5 video循环播放多个视频的方法步骤
2020/08/06 HTML / CSS
澳大利亚礼品篮网站:Macarthur Baskets
2019/10/14 全球购物
幼儿园儿童节主持词
2014/03/21 职场文书
个人综合鉴定材料
2014/05/23 职场文书
本科应届生自荐信
2014/06/29 职场文书
2014年综合治理工作总结
2014/11/20 职场文书
《火纹风花雪月无双》预告“神秘雇佣兵” 紫发剑客
2022/04/13 其他游戏