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和Ruby中each循环引用变量问题(一个隐秘BUG?)
Jun 04 Python
用Python编写分析Python程序性能的工具的教程
Apr 01 Python
python实现图片变亮或者变暗的方法
Jun 01 Python
Python文件及目录操作实例详解
Jun 04 Python
解析Python中的eval()、exec()及其相关函数
Dec 20 Python
Django 源码WSGI剖析过程详解
Aug 05 Python
关于Python内存分配时的小秘密分享
Sep 05 Python
Pandas 缺失数据处理的实现
Nov 04 Python
Python 实现向word(docx)中输出
Feb 13 Python
利用python制作拼图小游戏的全过程
Dec 04 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
Dec 11 Python
Python plt 利用subplot 实现在一张画布同时画多张图
Feb 26 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下实现在指定目录搜索指定类型文件的函数
2008/10/03 PHP
destoon官方标签大全
2014/06/20 PHP
Javascript与PHP验证用户输入URL地址是否正确
2014/10/09 PHP
php简单判断两个字符串是否相等的方法
2015/07/13 PHP
Laravel服务容器绑定的几种方法总结
2020/06/14 PHP
javascript基本语法分析说明
2008/06/15 Javascript
javascript fullscreen全屏实现代码
2009/04/09 Javascript
javascript 解析url的search方法
2010/02/09 Javascript
JavaScript实现的使用键盘控制人物走动实例
2014/08/27 Javascript
JavaScript极简入门教程(三):数组
2014/10/25 Javascript
jQuery弹出div层过2秒自动消失
2016/11/29 Javascript
微信小程序实现多宫格抽奖活动
2020/04/15 Javascript
AngularJS动态添加数据并删除的实例
2018/02/27 Javascript
简单了解JavaScript sort方法
2019/11/25 Javascript
ant design vue导航菜单与路由配置操作
2020/10/28 Javascript
JavaScript枚举选择jquery插件代码实例
2020/11/17 jQuery
Element-ui 自带的两种远程搜索(模糊查询)用法讲解
2021/01/29 Javascript
[01:04:06]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第一局
2016/02/26 DOTA
实例讲解Python中函数的调用与定义
2016/03/14 Python
tensorflow入门之训练简单的神经网络方法
2018/02/26 Python
ubuntu系统下使用pm2设置nodejs开机自启动的方法
2018/05/12 NodeJs
Python文件监听工具pyinotify与watchdog实例
2018/10/15 Python
Python可视化mhd格式和raw格式的医学图像并保存的方法
2019/01/24 Python
python中的数据结构比较
2019/05/13 Python
python3实现在二叉树中找出和为某一值的所有路径(推荐)
2019/12/26 Python
使用python-pptx包批量修改ppt格式的实现
2020/02/14 Python
PyQt5结合matplotlib绘图的实现示例
2020/09/15 Python
韩国休闲女装品牌网站:ANAIS
2016/08/24 全球购物
西班牙最大的在线滑板和街头服饰商店:Fillow.net
2019/04/15 全球购物
英文自我鉴定
2013/12/10 职场文书
大学生社会实践自我鉴定
2014/03/24 职场文书
房产代理公证处委托书
2014/04/04 职场文书
领导参观欢迎词
2015/01/26 职场文书
审美与表现自我评价
2015/03/09 职场文书
2016应届毕业生就业指导课心得体会
2016/01/15 职场文书
golang操作rocketmq的示例代码
2022/04/06 Golang