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实现将pvr格式转换成pvr.ccz的方法
Apr 28 Python
Python读写ini文件的方法
May 28 Python
python模糊图片过滤的方法
Dec 14 Python
解决Python selenium get页面很慢时的问题
Jan 30 Python
selenium跳过webdriver检测并模拟登录淘宝
Jun 12 Python
Django框架创建mysql连接与使用示例
Jul 29 Python
使用python+poco+夜神模拟器进行自动化测试实例
Apr 23 Python
Python如何向SQLServer存储二进制图片
Jun 08 Python
在pycharm中文件取消用 pytest模式打开的操作
Sep 01 Python
通过实例了解python__slots__使用方法
Sep 14 Python
python抢购软件/插件/脚本附完整源码
Mar 04 Python
Python基本知识点总结
Apr 07 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中文分词的简单实现代码分享
2011/07/17 PHP
thinkphp实现多语言功能(语言包)
2014/03/04 PHP
js split 的用法和定义 js split分割字符串成数组的实例代码
2012/05/13 Javascript
jQuery实现的五子棋游戏实例
2015/06/13 Javascript
jquery实现在网页指定区域显示自定义右键菜单效果
2015/08/25 Javascript
AngularJS1.X学习笔记2-数据绑定详解
2017/04/01 Javascript
老生常谈javascript中逻辑运算符&amp;&amp;和||的返回值问题
2017/04/13 Javascript
vue使用xe-utils函数库的具体方法
2018/03/06 Javascript
javascript中UMD规范的代码推演
2018/08/29 Javascript
javascript中toFixed()四舍五入使用方法详解
2018/09/28 Javascript
nodejs初始化init的示例代码
2018/10/10 NodeJs
微信小程序中遇到的iOS兼容性问题小结
2018/11/14 Javascript
解决layui的使用以及针对select、radio等表单组件不显示的问题
2019/09/05 Javascript
JS Web Flex弹性盒子模型代码实例
2020/03/10 Javascript
vue数据更新UI不刷新显示的解决办法
2020/08/06 Javascript
[00:53]TI3正赛第三天 DK怒破A队不败金身 现场国旗飘扬热血激昂
2013/08/10 DOTA
python中使用pyhook实现键盘监控的例子
2014/07/18 Python
浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)
2018/04/10 Python
Python爬虫框架scrapy实现的文件下载功能示例
2018/08/04 Python
对python 匹配字符串开头和结尾的方法详解
2018/10/27 Python
python pandas消除空值和空格以及 Nan数据替换方法
2018/10/30 Python
python 获取页面表格数据存放到csv中的方法
2018/12/26 Python
Python3标准库总结
2019/02/19 Python
浅析Python与Mongodb数据库之间的操作方法
2019/07/01 Python
django drf框架中的user验证以及JWT拓展的介绍
2019/08/12 Python
Python3 获取文件属性的方式(时间、大小等)
2020/03/12 Python
Python用dilb提取照片上人脸的示例
2020/10/26 Python
CSS3的新特性介绍
2008/10/31 HTML / CSS
一级方程式赛车官方网上商店:F1 Store(支持中文)
2018/01/12 全球购物
销售业务实习自我鉴定
2013/09/23 职场文书
2014年创卫实施方案
2014/02/18 职场文书
给学校建议书范文
2014/05/13 职场文书
药品营销策划方案
2014/06/15 职场文书
2015年幼儿园保育员工作总结
2015/04/23 职场文书
大学生团日活动总结
2015/05/06 职场文书
PHP实现rar解压读取扩展包小结
2021/06/03 PHP