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 相关文章推荐
python3批量删除豆瓣分组下的好友的实现代码
Jun 07 Python
python3.5仿微软计算器程序
Mar 30 Python
Python 提取dict转换为xml/json/table并输出的实现代码
Aug 28 Python
python生成excel的实例代码
Nov 08 Python
Python机器学习库scikit-learn安装与基本使用教程
Jun 25 Python
查看python下OpenCV版本的方法
Aug 03 Python
pygame游戏之旅 载入小车图片、更新窗口
Nov 20 Python
详解Python_shutil模块
Mar 15 Python
使用python接入微信聊天机器人
Mar 31 Python
Python利用matplotlib做图中图及次坐标轴的实例
Jul 08 Python
解决Python中pandas读取*.csv文件出现编码问题
Jul 12 Python
使用tensorflow DataSet实现高效加载变长文本输入
Jan 20 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下通过系统信号量加锁方式获取递增序列ID
2009/09/25 PHP
windows server 2008/2012安装php iis7 mysql环境搭建教程
2016/06/30 PHP
PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】
2017/06/07 PHP
ajax中get和post的说明及使用与区别
2012/12/23 Javascript
select标签模拟/美化方法采用JS外挂式插件
2013/04/01 Javascript
js弹出层包含flash 不能关闭隐藏的2种处理方法
2013/06/17 Javascript
一个JavaScript处理textarea中的字符成每一行实例
2014/09/22 Javascript
jQuery插件slides实现无缝轮播图特效
2015/04/17 Javascript
Javascript基于jQuery UI实现选中区域拖拽效果
2016/11/25 Javascript
JS基于递归实现倒计时效果的方法
2016/11/26 Javascript
JSON 数据详解及实例代码分析
2017/01/20 Javascript
bootstrap table表格插件使用详解
2017/05/08 Javascript
深入理解Vue生命周期、手动挂载及挂载子组件
2017/09/27 Javascript
Angular实现点击按钮控制隐藏和显示功能示例
2017/12/29 Javascript
使用ECharts实现状态区间图
2018/10/25 Javascript
改变layer confirm弹窗按钮的颜色方法
2019/09/12 Javascript
[55:45]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.24
2019/09/10 DOTA
Django ORM框架的定时任务如何使用详解
2017/10/19 Python
运行django项目指定IP和端口的方法
2018/05/14 Python
用PyInstaller把Python代码打包成单个独立的exe可执行文件
2018/05/26 Python
python opencv读mp4视频的实例
2018/12/07 Python
对python:threading.Thread类的使用方法详解
2019/01/31 Python
Python使用Pandas对csv文件进行数据处理的方法
2019/08/01 Python
Pytorch之Variable的用法
2019/12/31 Python
Python实现投影法分割图像示例(二)
2020/01/17 Python
Python pathlib模块使用方法及实例解析
2020/10/05 Python
如何在scrapy中集成selenium爬取网页的方法
2020/11/18 Python
社区健康教育实施方案
2014/03/18 职场文书
新年联欢会主持词
2014/03/27 职场文书
ktv筹备计划书
2014/05/03 职场文书
村庄绿化方案
2014/05/07 职场文书
幼儿发展评估方案
2014/06/11 职场文书
教师三严三实对照检查材料
2014/09/25 职场文书
导游词之无锡唐城
2019/12/12 职场文书
Java基础之this关键字的使用
2021/06/30 Java/Android
Pytest中skip和skipif的具体使用方法
2021/06/30 Python