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计算最大优先级队列实例
Dec 18 Python
Python的Django框架中settings文件的部署建议
May 30 Python
Python 反转字符串(reverse)的方法小结
Feb 20 Python
python中pylint使用方法(pylint代码检查)
Apr 06 Python
深入浅析Python的类
Jun 22 Python
Python用5行代码写一个自定义简单二维码
Oct 21 Python
pyqt5 lineEdit设置密码隐藏,删除lineEdit已输入的内容等属性方法
Jun 24 Python
Python学习笔记之列表和成员运算符及列表相关方法详解
Aug 22 Python
python实现电子词典
Mar 03 Python
利用python中的matplotlib打印混淆矩阵实例
Jun 16 Python
python pandas dataframe 去重函数的具体使用
Jul 20 Python
使用Python开发贪吃蛇游戏 SnakeGame
Apr 30 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
Windows下XDebug 手工配置与使用说明
2010/07/11 PHP
PHP的博客ping服务代码
2012/02/04 PHP
for循环连续求和、九九乘法表代码
2012/02/20 PHP
分享下页面关键字抓取www.icbase.com站点代码(带asp.net参数的)
2014/01/30 PHP
php 使用file_get_contents读取大文件的方法
2014/11/13 PHP
PHP压缩图片功能的介绍
2019/03/21 PHP
Thinkphp5框架ajax接口实现方法分析
2019/08/28 PHP
Thinkphp5.0框架视图view的模板布局用法分析
2019/10/12 PHP
JavaScript 工具库 Cloudgamer JavaScript Library v0.1 发布
2009/10/29 Javascript
基于Jquery的文字滚动跑马灯插件(一个页面多个滚动区)
2010/07/26 Javascript
JS.elementGetStyle(element, style)应用示例
2013/09/24 Javascript
js与C#进行时间戳转换
2014/11/14 Javascript
jquery使用经验小结
2015/05/20 Javascript
javascript高级选择器querySelector和querySelectorAll全面解析
2016/04/07 Javascript
详解支持Angular 2的表格控件
2017/01/19 Javascript
AngularJS路由Ui-router模块用法示例
2017/05/29 Javascript
js实现课堂随机点名系统
2019/11/21 Javascript
微信小程序后端实现授权登录
2020/02/24 Javascript
js利用拖放实现添加删除
2020/08/27 Javascript
JavaScript 实现拖拽效果组件功能(兼容移动端)
2020/11/11 Javascript
linux下安装easy_install的方法
2013/02/10 Python
VTK与Python实现机械臂三维模型可视化详解
2017/12/13 Python
python监控文件并且发送告警邮件
2018/06/21 Python
基于pandas将类别属性转化为数值属性的方法
2018/07/25 Python
python 实现倒排索引的方法
2018/12/25 Python
Python批量修改图片分辨率的实例代码
2019/07/04 Python
根据tensor的名字获取变量的值方式
2020/01/04 Python
关于keras.layers.Conv1D的kernel_size参数使用介绍
2020/05/22 Python
Python存储读取HDF5文件代码解析
2020/11/25 Python
庆中秋节主题活动方案
2014/02/03 职场文书
企业元宵节主持词
2014/03/25 职场文书
小学生评语集锦
2014/04/18 职场文书
先进个人推荐材料
2014/12/29 职场文书
安全员岗位职责范本
2015/04/11 职场文书
应急管理工作总结2015
2015/05/04 职场文书
关于CentOS 8 搭建MongoDB4.4分片集群的问题
2021/10/24 MongoDB