python 统计数组中元素出现次数并进行排序的实例

 更新时间:2018年07月02日 09:17:55   作者:li532331251的博客  
今天小编就为大家分享一篇python 统计数组中元素出现次数并进行排序的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

如下所示:

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 统计数组中元素出现次数并进行排序的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • flask框架jinja2模板与模板继承实例分析

    flask框架jinja2模板与模板继承实例分析

    这篇文章主要介绍了flask框架jinja2模板与模板继承,结合实例形式分析了flask框架jinja2模板的基本用法与模板继承相关实现技巧,需要的朋友可以参考下
    2019-08-08
  • Python的Flask框架中的Jinja2模板引擎学习教程

    Python的Flask框架中的Jinja2模板引擎学习教程

    这篇文章主要介绍了Python的Flask框架中的Jinja2模板引擎学习教程,Jinja2模板引擎的用法也是Flask的Web开发中的重要知识,需要的朋友可以参考下
    2016-06-06
  • Python实现双色球号码随机生成

    Python实现双色球号码随机生成

    和体彩大乐透类似,福彩双色球也是购买次数最多的彩种之一,相比大乐透,双色球更容易中小奖。本文将介绍 Python 实习双色球彩票自由的流程,感兴趣的可以了解一下
    2022-05-05
  • Python Pillow(PIL)库的用法详解

    Python Pillow(PIL)库的用法详解

    这篇文章主要介绍了Python Pillow(PIL)库的用法介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • python中的不可变数据类型与可变数据类型详解

    python中的不可变数据类型与可变数据类型详解

    探寻python的数据类型是否可变,也可以更好的理解python对内存的使用情况,下面这篇文章主要给大家介绍了关于python中不可变数据类型与可变数据类型的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-09-09
  • python处理RSTP视频流过程解析

    python处理RSTP视频流过程解析

    这篇文章主要介绍了python处理RSTP视频流过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Pytorch加载数据集的方式总结及补充

    Pytorch加载数据集的方式总结及补充

    Pytorch自定义数据集方法,应该是用pytorch做算法的最基本的东西,下面这篇文章主要给大家介绍了关于Pytorch加载数据集的方式总结及补充,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • 一文让你秒懂精通pip并快速体验深度学习应用【建议收藏】

    一文让你秒懂精通pip并快速体验深度学习应用【建议收藏】

    在使用python的时候,经常使用到pip这个工具,可以很方便的线上安装依赖库,当然pip还有很多参数都可以帮我们去查询一些库信息,这篇文章主要给大家介绍了如何通过一篇文章让你秒懂精通pip并快速体验深度学习应用的相关资料,需要的朋友可以参考下
    2021-08-08
  • python使用requests.post方法传递form-data类型的Excel数据的示例代码

    python使用requests.post方法传递form-data类型的Excel数据的示例代码

    这篇文章介绍了python使用requests.post方法传递form-data类型的Excel数据的示例代码,某些post接口,需要发送multipart/form-data类型的数据,如何使用python requests来模拟这种类型的请求发送呢?补充讲解了python使用requests post请求发送form-data类型数据,一起看看吧
    2024-01-01
  • python 递归相关知识总结

    python 递归相关知识总结

    这篇文章主要介绍了python 递归相关知识总结,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-03-03

最新评论