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实现的各种排序算法代码
Mar 04 Python
Python下的Mysql模块MySQLdb安装详解
Apr 09 Python
python使用在线API查询IP对应的地理位置信息实例
Jun 01 Python
浅析Python中的多进程与多线程的使用
Apr 07 Python
python 远程统计文件代码分享
May 14 Python
菜鸟使用python实现正则检测密码合法性
Jan 05 Python
Python中的探索性数据分析(功能式)
Dec 22 Python
完美解决Python matplotlib绘图时汉字显示不正常的问题
Jan 29 Python
python二进制文件的转译详解
Jul 03 Python
python基础 range的用法解析
Aug 23 Python
python TK库简单应用(实时显示子进程输出)
Oct 29 Python
Pytest之测试命名规则的使用
Apr 16 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网站来路获取代码(针对搜索引擎)
2010/06/08 PHP
PHP CodeBase:将时间显示为&quot;刚刚&quot;&quot;n分钟/小时前&quot;的方法详解
2013/06/06 PHP
验证坐标在某坐标区域内php代码
2016/10/08 PHP
使用PHPStorm+XDebug搭建单步调试环境
2017/11/19 PHP
如何制作浮动广告 JavaScript制作浮动广告代码
2012/12/30 Javascript
jquery插件之定时查询待处理任务数量
2014/05/01 Javascript
js封装tab标签页实例分享
2016/12/19 Javascript
js定时器+简单的动画效果实例
2017/11/10 Javascript
vue移动端实现下拉刷新
2018/04/22 Javascript
React Native日期时间选择组件的示例代码
2018/04/27 Javascript
javascript json字符串到json对象转义问题
2019/01/22 Javascript
ES6 Proxy实现Vue的变化检测问题
2019/06/11 Javascript
JS中自定义事件的使用与触发操作实例分析
2019/11/01 Javascript
如何使用 JavaScript 操作浏览器历史记录 API
2020/11/24 Javascript
在Python中操作文件之read()方法的使用教程
2015/05/24 Python
在Django的session中使用User对象的方法
2015/07/23 Python
详解Python中 __get__和__getattr__和__getattribute__的区别
2016/06/16 Python
Python处理Excel文件实例代码
2017/06/20 Python
Python基础教程之内置函数locals()和globals()用法分析
2018/03/16 Python
Python创建数字列表的示例
2019/11/28 Python
通俗讲解python 装饰器
2020/09/07 Python
css3打造一款漂亮的卡哇伊按钮
2013/03/20 HTML / CSS
CSS3只让背景图片旋转180度的实现示例
2021/03/09 HTML / CSS
如何让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度
2019/08/01 HTML / CSS
台湾流行服饰购物平台:OB严选
2018/01/21 全球购物
技校毕业生的自我评价
2013/12/27 职场文书
学校十一活动方案
2014/02/01 职场文书
行政专员求职信范文
2014/05/03 职场文书
小学校园之星事迹材料
2014/05/16 职场文书
志愿者宣传口号
2014/06/17 职场文书
2014年机关作风建设工作总结
2014/10/23 职场文书
三峡导游词
2015/01/31 职场文书
患者身份识别制度
2015/08/06 职场文书
Python编解码问题及文本文件处理方法详解
2021/06/20 Python
剧场版《转生恶役只好拔除破灭旗标》公开最新视觉图 2023年上映
2022/04/02 日漫
怎么禁用Win11输入法 最新Win11输入法关闭教程
2022/08/05 数码科技