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操作MongoDB详解及实例
May 18 Python
python+pyqt实现12306图片验证效果
Oct 25 Python
微信跳一跳自动运行python脚本
Jan 08 Python
python 把文件中的每一行以数组的元素放入数组中的方法
Apr 29 Python
selenium3+python3环境搭建教程图解
Dec 07 Python
Python字符串匹配之6种方法的使用详解
Apr 08 Python
python实现几种归一化方法(Normalization Method)
Jul 31 Python
Django ORM 聚合查询和分组查询实现详解
Aug 09 Python
python Jupyter运行时间实例过程解析
Dec 13 Python
Jupyter Notebook添加代码自动补全功能的实现
Jan 07 Python
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
May 14 Python
Python实现将多张图片合成MP4视频并加入背景音乐
Apr 28 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中使用XML
2006/10/09 PHP
PHP调用存储过程返回值不一致问题的解决方法分析
2016/04/26 PHP
JavaScript入门教程(1) 什么是JS
2009/01/31 Javascript
JavaScript DOM 学习第七章 表单的扩展
2010/02/19 Javascript
Jquery CheckBox全选方法代码附js checkbox全选反选代码
2010/06/09 Javascript
javascript oop开发滑动(slide)菜单控件
2010/08/25 Javascript
jquery下动态显示jqGrid以及jqGrid的属性设置容易出现问题的解决方法
2010/10/22 Javascript
javascript中xml操作实现代码
2011/11/21 Javascript
基于JQuery实现的类似购物商城的购物车
2011/12/06 Javascript
使用变量动态设置js的属性名
2014/10/19 Javascript
JavaScript中的数学运算介绍
2014/12/29 Javascript
jQuery判断数组是否包含了指定的元素
2015/03/10 Javascript
原生JavaScript编写canvas版的连连看游戏
2016/05/29 Javascript
JavaScript基础语法之js表达式
2016/06/07 Javascript
javascript鼠标滑过显示二级菜单特效
2020/11/18 Javascript
再谈javascript注入 黑客必备!
2016/09/14 Javascript
jQuery基于排序功能实现上移、下移的方法
2016/11/26 Javascript
从零开始学习Node.js系列教程之设置HTTP头的方法示例
2017/04/13 Javascript
angular.js指令中transclude选项及ng-transclude指令详解
2017/05/24 Javascript
不得不看之JavaScript构造函数及new运算符
2017/08/21 Javascript
Node.js成为Web应用开发最佳选择的原因
2018/02/05 Javascript
浅谈vue后台管理系统权限控制思考与实践
2018/12/19 Javascript
小程序封装路由文件和路由方法(5种全解析)
2019/05/26 Javascript
Vue.js递归组件实现组织架构树和选人功能
2019/07/04 Javascript
layui switch 开关监听 弹出确定状态转换的例子
2019/09/21 Javascript
微信小程序获取当前位置和城市名
2019/11/13 Javascript
python实现数据预处理之填充缺失值的示例
2017/12/22 Python
基于python实现对文件进行切分行
2020/04/26 Python
python正则表达式 匹配反斜杠的操作方法
2020/08/07 Python
python 实现图片裁剪小工具
2021/02/02 Python
你应该知道的30个css选择器
2014/03/19 HTML / CSS
不用游标的SQL语句有哪些
2012/09/07 面试题
全陪导游欢迎词
2014/01/17 职场文书
教师中国梦演讲稿
2014/04/23 职场文书
企业人事任命书
2014/06/05 职场文书
清空 Oracle 安装记录并重新安装
2022/04/26 Oracle