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开启多个子进程并行运行的方法
Apr 18 Python
浅谈python为什么不需要三目运算符和switch
Jun 17 Python
Python中input与raw_input 之间的比较
Aug 20 Python
Python实现的随机森林算法与简单总结
Jan 30 Python
Python迭代器和生成器定义与用法示例
Feb 10 Python
Python读取mat文件,并保存为pickle格式的方法
Oct 23 Python
Python中的枚举类型示例介绍
Jan 09 Python
Python3.5运算符操作实例详解
Apr 25 Python
python日志模块logbook使用方法
Sep 19 Python
PYTHON绘制雷达图代码实例
Oct 15 Python
python读取图片的几种方式及图像宽和高的存储顺序
Feb 11 Python
python 多态 协议 鸭子类型详解
Nov 27 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来实现网络服务
2009/09/15 PHP
php全排列递归算法代码
2012/10/09 PHP
美图秀秀web开放平台--PHP流式上传和表单上传示例分享
2014/06/22 PHP
thinkphp中空模板与空模块的用法实例
2014/11/26 PHP
Yii核心组件AssetManager原理分析
2014/12/02 PHP
php基于单例模式封装mysql类完整实例
2016/10/18 PHP
PHP实现的抓取小说网站内容功能示例
2019/06/27 PHP
javascript时区函数介绍
2012/09/14 Javascript
js 自动播放的实例代码
2013/11/19 Javascript
js加密解密字符串可自定义密码因子
2014/05/13 Javascript
jquery-syntax动态语法着色示例代码
2014/05/14 Javascript
node.js中的fs.truncateSync方法使用说明
2014/12/15 Javascript
php+ajax+jquery实现点击加载更多内容
2015/05/03 Javascript
js设置文字颜色的方法示例
2016/12/30 Javascript
jQuery插件开发发送短信倒计时功能代码
2017/05/09 jQuery
Echarts.js无法引入问题解决方案
2020/10/30 Javascript
如何在Express4.x中愉快地使用async的方法
2020/11/18 Javascript
[46:48]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第三局
2016/02/25 DOTA
[02:28]DOTA2 2017国际邀请赛小组赛回顾
2017/08/09 DOTA
基于DataFrame改变列类型的方法
2018/07/25 Python
关于python字符串方法分类详解
2019/08/20 Python
tensorflow实现对张量数据的切片操作方式
2020/01/19 Python
keras训练浅层卷积网络并保存和加载模型实例
2020/07/02 Python
python生成word合同的实例方法
2021/01/12 Python
CSS3中Transition动画属性用法详解
2016/07/04 HTML / CSS
简单html5代码获取地理位置
2014/03/31 HTML / CSS
碧欧泉美国官网:Biotherm美国
2016/08/31 全球购物
全球性的奢侈品梦工厂:Forzieri(福喜利)
2019/02/20 全球购物
DELPHI中如何调用API,可举例说明
2014/01/16 面试题
建筑毕业生自我鉴定
2013/10/18 职场文书
中专生职业生涯规划书范文
2014/01/10 职场文书
代领毕业证委托书
2014/08/02 职场文书
走群众路线剖析材料
2014/10/09 职场文书
2014年售票员工作总结
2014/11/19 职场文书
2015年电话客服工作总结
2015/05/18 职场文书
《鲁滨逊漂流记》之六读后感(4篇)
2019/09/29 职场文书