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
dataframe 按条件替换某一列中的值方法
Jan 29 Python
Python学习笔记之图片人脸检测识别实例教程
Mar 06 Python
详解Python 调用C# dll库最简方法
Jun 20 Python
使用Pandas对数据进行筛选和排序的实现
Jul 29 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
Oct 17 Python
详解Python list和numpy array的存储和读取方法
Nov 06 Python
OpenCV哈里斯(Harris)角点检测的实现
Jan 15 Python
使用tensorboard可视化loss和acc的实例
Jan 21 Python
python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例
Mar 08 Python
解决python 输出到csv 出现多空行的情况
Mar 24 Python
Python list去重且保持原顺序不变的方法
Apr 03 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
人大复印资料处理程序_输入篇
2006/10/09 PHP
Windows下的PHP5.0详解
2006/11/18 PHP
php实现微信分享朋友链接功能
2019/02/18 PHP
JavaScript高级程序设计(第3版)学习笔记4 js运算符和操作符
2012/10/11 Javascript
Javascript中判断变量是数组还是对象(array还是object)
2013/08/14 Javascript
jQuery中关于ScrollableGridPlugin.js(固定表头)插件的使用逐步解析
2014/07/17 Javascript
使用jQuery实现验证上传图片的格式与大小
2014/12/03 Javascript
对比分析AngularJS中的$http.post与jQuery.post的区别
2015/02/27 Javascript
jQuery实现带有洗牌效果的动画分页实例
2015/08/31 Javascript
Vuejs第十二篇之动态组件全面解析
2016/09/09 Javascript
基于vue.js轮播组件vue-awesome-swiper实现轮播图
2017/03/17 Javascript
JS实现静态页面搜索并高亮显示功能完整示例
2017/09/19 Javascript
JS实现验证码倒计时的注册页面
2018/01/02 Javascript
vue中的provide/inject的学习使用
2018/05/09 Javascript
js实现左右两侧浮动广告
2018/07/09 Javascript
在小程序Canvas中使用measureText的方法示例
2018/10/19 Javascript
JS+HTML5 canvas绘制验证码示例
2018/12/05 Javascript
JavaScript使用面向对象实现的拖拽功能详解
2019/06/12 Javascript
[03:55]TI9战队采访——TNC Predator
2019/08/22 DOTA
Python解决鸡兔同笼问题的方法
2014/12/20 Python
Python的Django REST框架中的序列化及请求和返回
2016/04/11 Python
python3 判断列表是一个空列表的方法
2018/05/04 Python
Python基于生成器迭代实现的八皇后问题示例
2018/05/23 Python
matplotlib.pyplot绘图显示控制方法
2019/01/15 Python
Python3实现发送邮件和发送短信验证码功能
2020/01/07 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
2020/05/26 Python
详解使用HTML5 Canvas创建动态粒子网格动画
2016/12/14 HTML / CSS
canvas探照灯效果的示例代码
2018/11/30 HTML / CSS
英格兰橄榄球商店:England Rugby Store
2016/12/17 全球购物
捷克汽车配件和工具销售网站:TorriaCars
2018/02/26 全球购物
在校生钳工实习自我鉴定
2013/09/19 职场文书
信息工程学院毕业生推荐信
2013/11/05 职场文书
建筑个人求职信范文
2014/01/25 职场文书
2014年四风个人对照检查及整改措施
2014/10/28 职场文书
2014年环境整治工作总结
2014/12/10 职场文书
2015年幼儿教育工作总结
2015/07/24 职场文书