python中字典dict排序sorted的实现

 更新时间:2023年05月31日 10:14:28   作者:panbaoran913  
本文主要介绍了python中字典dict排序sorted的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
key123456
value25201510530

字典P={1:10,2:25,3:5,4:15,5:20,6:30}有以下3种迭代器:

P.items()

dict_items([(1, 10), (2, 25), (3, 5), (4, 15), (5, 20), (6, 30)])

P.keys()

dict_keys([1, 2, 3, 4, 5, 6])

P.valuse()

dict_values([10, 25, 5, 15, 20, 30])

一、sorted使用

基本用法

list = sorted(iterable, key=None, reverse=False)  
a = [5,3,4,2,1]
print(sorted(a))#[1,2,3,4,5]
  • key是排序的关键字
  • reverse是升序还是降序,默认False为升序

二、按照keys的顺序对dict中的keys排序

这里忽略dict中的values的存在,直接使用迭代器P.keys()排序即可,类似与list的排序

sorted(P.keys())

三、按照valuse的顺序对dict中的values排序

这里忽略dict中的keys的存在,直接使用迭代器P.valuse()排序即可,类似与list的排序.

sorted(P.valuse())

四、按照keys的顺序对dict中的items排序

sorted(P.items(),key=lambda item:item[0])
# [(1, 10), (2, 25), (3, 5), (4, 15), (5, 20), (6, 30)]

P.iems()是一个迭代器,其中每个元素以元组(1,10),(2,25),…的形式.lambda中tiem表示迭代器中的每个具体的元素,所以item[0]会表示原dict中的keys值.sorted中的key值是选择了dict中的keys作为排序的准则.

或者,上面是一种理解的形式,下面的一种对sorted对dict的默认形式.本质上是一种.

sorted(P.items())
#[(1, 10), (2, 25), (3, 5), (4, 15), (5, 20), (6, 30)]

五、按照values的顺序对dict中的items排序

sorted(P.items(),key=lambda item:item[1])
# [(3, 5), (1, 10), (4, 15), (5, 20), (2, 25), (6, 30)]

理解同上

六、按照keys的顺序对dict的values排序

P1=sorted(P.items(),key=lambda item:item[0])
#[(1, 10), (2, 25), (3, 5), (4, 15), (5, 20), (6, 30)]
P2=[a[1] for a in P1]
# [10, 25, 5, 15, 20, 30]

或者

P2=[a[1] for a in sorted(P.items()]) ]

七、按照values的顺序对dict中的keys排序

P1=sorted(P.items(),key=lambda item:item[1]
# [(3, 5), (1, 10), (4, 15), (5, 20), (2, 25), (6, 30)]
P2=[a[0] for a in P1]
# [3, 1, 4, 5, 2, 6]

八、字典的先进先出

OrderedDict 是 按照有序插入顺序存储 的有序字典。

from collections import OrderedDict

增加方法: popitem(last=True)

移除并返回一个键值对,last=True 时,后进先出,反之,先进先出。

move_to_end(key, last=True)

last=True时,将键值对移至最右。反之,移至最左。key不存在时,抛错 KeyError。

到此这篇关于python中字典dict排序sorted的实现的文章就介绍到这了,更多相关python字典dict排序sorted内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python实现年会抽奖程序

    python实现年会抽奖程序

    这篇文章主要为大家详细介绍了python实现年会抽奖程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • python3实现域名查询和whois查询功能

    python3实现域名查询和whois查询功能

    本篇文章给大家分享了python3实现域名查询和whois查询功能的详细代码,有需要的朋友参考学习下。
    2018-06-06
  • 详解Python中matplotlib模块的绘图方式

    详解Python中matplotlib模块的绘图方式

    Matplotlib是Python中最受欢迎的数据可视化软件包之一,它是 Python常用的2D绘图库,同时它也提供了一部分3D绘图接口。本文将详细介绍Matplotlib的绘图方式,需要的可以参考一下
    2022-07-07
  • Python中class内置方法__init__与__new__作用与区别解析

    Python中class内置方法__init__与__new__作用与区别解析

    这篇文章主要介绍了Python中class内置方法__init__与__new__作用与区别探究,本文中涉及的类均为Python3中默认的新式类,对应Python2中则为显式继承了object的class,因为未继承object基类的旧式类并没有这些内置方法,需要的朋友可以参考下
    2022-09-09
  • Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS浅析

    Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS浅析

    这篇文章主要给大家介绍了关于Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧
    2018-05-05
  • Python+OpenGL制作一个元宵花灯

    Python+OpenGL制作一个元宵花灯

    又是一年元宵节!如果昨天情人节的红包发得手软又心疼,不妨利用Python OpenGL做一盏花灯送给女朋友,也许比红包更能讨她欢心呢
    2022-02-02
  • Python与数据库的交互问题小结

    Python与数据库的交互问题小结

    这篇文章主要介绍了Python与数据库的交互,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • 以911新闻为例演示Python实现数据可视化的教程

    以911新闻为例演示Python实现数据可视化的教程

    这篇文章主要介绍了以911新闻为例演示Python实现数据可视化的教程,主要基于NMF主题模型,需要的朋友可以参考下
    2015-04-04
  • python程序封装为win32服务的方法

    python程序封装为win32服务的方法

    这篇文章主要为大家详细介绍了python程序封装为win32服务的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • python 绘制拟合曲线并加指定点标识的实现

    python 绘制拟合曲线并加指定点标识的实现

    这篇文章主要介绍了python 绘制拟合曲线并加指定点标识的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07

最新评论