方案1:将字典中的项转化为(值,键) 元组

from random import randint
d = {k:randint(60,100) for k in 'abcdefg'}  # 生成字典
# 列表解析,转化
l = [(v,k) for k, v in d.items()]
# 排序
print(sorted(l,reverse=False)) # 升序
print(sorted(l,reverse=True))  # 降序# 也可以使用zip函数进行转化
l = list(zip(d.values(),d.keys()))
print(sorted(l))

方案2:传递sorted函数的key函数

使用sorted函数中的key参数,根据指定的方式排序
一般用用这个方法的比较多

p = sorted(d.items(),key=lambda item:item[1],reverse=True)  # 降序排列
# item 是由键值对转化成的元组,

生成排名

利用enumerate函数

print(enumerate(p))
print(*enumerate(p,1)) # 第二个参数是起始值
(1, ('e', 98)) (2, ('b', 96)) (3, ('c', 93)) (4, ('a', 91)) (5, ('d', 83)) (6, ('f', 82)) (7, ('g', 78))

遍历

for i,(k,v) in enumerate(p,1):   # i,(k,v)对enumerate拆包,(k,v)对p进行拆包,p是一个元组print(i,k,v)

python字典排序的两种方案,并产生排名相关推荐

  1. 对 Python 字典排序的两种简单方法

    引言 Dictionary 是一种重要的数据结构,它通过将 key 与 value 进行映射来存储数据.Python 中的默认字典是无序数据结构.与列表一样,我们可以使用 sorted()函数按键对字 ...

  2. python list排序的两种方法及实例讲解

    对List进行排序,Python提供了两个方法 方法1.用List的内建函数list.sort进行排序 list.sort(func=None, key=None, reverse=False) Py ...

  3. python列表排序方法-python list排序的两种方法及实例讲解

    对List进行排序,Python提供了两个方法 方法1.用List的内建函数list.sort进行排序 list.sort(func=None, key=None, reverse=False) Py ...

  4. python列表的排序方法_pythonlist排序的两种方法及实例

    本文主要介绍了python list排序的两种方法及实例讲解.具有很好的参考价值,下面一起来看下吧 对List进行排序,Python提供了两个方法 方法1.用List的内建函数list.sort进行排 ...

  5. 【Python】制作圆角图像的两种方案对比

    需求:现有200*200像素JPG图片,需制作成129*129像素的PNG圆角头像. 两种方案. 方案1:直接将JPG图片,利用灰度图mask,叠加得到圆角PNG. 优势:方便,不需动手P个透明模板底 ...

  6. day06-元组字典集合常用两种排序

    Day06-元组&字典&集合&常用两种排序 一.tuple元组 1.概述 和列表相似,本质上是一种有序的集合 元组和列表的不同之处: ​ a.列表:[ ] 元组:( ) ​ b ...

  7. WebGIS中解决使用Lucene进行兴趣点搜索排序的两种思路

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 目前跟信息采集相关的一个项目提出了这样的一个需求:中国银行等 ...

  8. python字典排序并输出_对Python的字典进行排序

    我们知道Python的内置dictionary数据类型是无序的,通过key来获取对应的value.可是有时我们需要对dictionary中 的item进行排序输出,可能根据key,也可能根据value ...

  9. python字典排序sort_Python字典排序

    利用引出一个例子来理解 例如:比如使用Python字典排序,d={'a':1,'c':3,'b':2}按值升序排列,我们可以用sorted高阶函数或者用列表的.sort()方法.下面具体阐述两种排序方 ...

最新文章

  1. MVC5学习系列--Razor视图(一)
  2. chgrp r mysql ._mysql操作命令
  3. thinkphp的控制器包含在Url中时注意区分大小写
  4. 学习《送东阳马生序》
  5. Java基础11-封装(思想、访问权限、this、构造方法)
  6. python在csv模块添加新列_如何在CSV文件的开头添加新列?
  7. C语言 输入是一整行的字符串
  8. PHP 后台程序配置config文件,及form表单上传文件
  9. MySQL 的主从复制
  10. soem学习2 osal
  11. webaudio ajax,Web Audio 入门之读取左右声道数据
  12. java可以用数组存爬虫数据么_网络爬虫文件存取(TXT,JSON,CSV)特点与用法
  13. redit mysql_开发者经常用到的75 个功能强大的 jQuery插件和教程汇总(上篇)
  14. HP DL580 G8 做RAID
  15. 用手机版python爬虫_Python爬虫也能用手机进行抓包?没错!这个技巧我只告诉你...
  16. 团队从小到大,再到体验团队
  17. 华为鸿蒙OS摄像头,华为放大招:首发屏下摄像头+鸿蒙OS
  18. 新冠状病毒死亡率问题
  19. Sparse Merkle Tree
  20. 黑夜给了我黑色眼睛,我却用它来寻找创维

热门文章

  1. oppo关闭网易云音乐锁屏小窗口
  2. JavaSE基础学习(四)—Java核心类库(下)
  3. AS3连连看源码教程(三)
  4. java解析pos,POS响应代码解析
  5. CAD更改没有的字体,打开时如何选择字体
  6. 使用LSTM训练语言模型(以《魔道祖师》为corpus)
  7. vant 半圆仪表盘_超全的 Vue 开源项目合集,签收一下
  8. 如何在Intellij IDEA中管理svn并进行分支的合并
  9. 高端产品适合在闲鱼引流吗?你需要了解你的客户群是哪些?
  10. Unity 实现画线火柴人核心画线功能