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解析网页源代码中的115网盘链接实例
Sep 30 Python
分析在Python中何种情况下需要使用断言
Apr 01 Python
进一步探究Python的装饰器的运用
May 05 Python
Python中的变量和作用域详解
Jul 13 Python
jupyter notebook引用from pyecharts.charts import Bar运行报错
Apr 23 Python
Django实现支付宝付款和微信支付的示例代码
Jul 25 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
Apr 28 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
Dec 27 Python
Python如何转换字符串大小写
Jun 04 Python
如何在mac下配置python虚拟环境
Jul 06 Python
python向xls写入数据(包括合并,边框,对齐,列宽)
Feb 02 Python
python前后端自定义分页器
Apr 13 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
理解PHP5中static和const关键字的区别
2007/03/19 PHP
php截取utf-8中文字符串乱码的解决方法
2010/03/29 PHP
PHP使用mkdir创建多级目录的方法
2015/12/22 PHP
ThinkPHP使用getlist方法实现数据搜索功能示例
2017/05/08 PHP
PHP开发实现微信退款功能示例
2017/11/25 PHP
浅析Js(Jquery)中,字符串与JSON格式互相转换的示例(直接运行实例)
2013/07/09 Javascript
深入理解angularjs过滤器
2016/05/25 Javascript
nodejs基础知识
2017/02/03 NodeJs
VUE利用vuex模拟实现新闻点赞功能实例
2017/06/28 Javascript
jquery-file-upload 文件上传带进度条效果
2017/11/21 jQuery
vscode 开发Vue项目的方法步骤
2018/11/25 Javascript
js中this的指向问题归纳总结
2018/11/28 Javascript
Nodejs 识别图片类型的方法
2019/08/15 NodeJs
React-redux实现小案例(todolist)的过程
2019/09/29 Javascript
Node.js利用Express实现用户注册登陆功能(推荐)
2020/10/26 Javascript
JS闭包原理及其使用场景解析
2020/12/03 Javascript
Python入门篇之字符串
2014/10/17 Python
Python字符串替换实例分析
2015/05/11 Python
Pandas读取MySQL数据到DataFrame的方法
2018/07/25 Python
实例分析python3实现并发访问水平切分表
2018/09/29 Python
Python中那些 Pythonic的写法详解
2019/07/02 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
2020/02/26 Python
Python获取android设备cpu和内存占用情况
2020/11/15 Python
Pycharm plot独立窗口显示的操作
2020/12/11 Python
波兰汽车配件网上商店:iParts.pl
2020/09/08 全球购物
说出一些常用的类,包,接口
2014/09/22 面试题
数控技术应用个人求职信范文
2014/02/03 职场文书
高中生家长寄语大全
2014/04/03 职场文书
授权委托书范本
2014/04/03 职场文书
员工考核评语大全
2014/04/26 职场文书
优秀三好学生事迹材料
2014/08/31 职场文书
学校隐患排查制度
2015/08/05 职场文书
python获取淘宝服务器时间的代码示例
2021/04/22 Python
详解分布式系统中如何用python实现Paxos
2021/05/18 Python
带你了解CSS基础知识,样式
2021/07/21 HTML / CSS
「魔导具师妲莉亚永不妥协~从今天开始的自由职人生活~」1、2卷发售宣传CM公开
2022/03/21 日漫