python 使用值来排序一个字典的方法

作者:CuriousZero 时间:2022-02-05 00:25:05 

下面先看下python 使用值排序字典的方法


In [8]: a={'x':11,'y':22,'c':4}
In [9]: import operator
In [10]: sorted(a.items(),key=operator.itemgetter(1))
Out[10]: [('c', 4), ('x', 11), ('y', 22)]
In [11]: a={'x':11,'y':22,'c':4}
In [12]: sorted(a.items(),key=lambda x:x[1])
Out[12]: [('c', 4), ('x', 11), ('y', 22)]

sort 方法会就地排序列表,不会把原列表复制一份

sorted 会新建一个列表作为返回值,接受任何形式的可迭代对象作为参数

sorted 和 sort的可选参数:

reverse  默认为False,如果设置为True则降序排列

      key 这个是一个只有一个参数的函数,会应用到序列中的每一个元素上,如果key=len,就会按照字符串的长度排序

补充:下面看下Python字典按值排序的方法

法1: (默认升序排序,加  reverse = True 指定为降序排序)


# sorted的结果是一个list
 dic1SortList = sorted( dic1.items(),key = lambda x:x[1],reverse = True)

法2:


import operator
sorted_x = sorted(d.items(),key = operator.itemgetter(1))

法3:包含字典dict的列表list的排序方法与dict的排序类似,如下: 


x = [{'name':'Homer', 'age':39}, {'name':'Bart', 'age':10}]
sorted_x = sorted(x, key=operator.itemgetter('name'))
print sorted_x
#[{'age': 10, 'name': 'Bart'}, {'age': 39, 'name': 'Homer'}]
sorted_x = sorted(x, key=operator.itemgetter('name'), reverse=True)
print sorted_x
#[{'age': 39, 'name': 'Homer'}, {'age': 10, 'name': 'Bart'}]
sorted_x = sorted(x, key=lambda x : x['name'])
print sorted_x
#[{'age': 10, 'name': 'Bart'}, {'age': 39, 'name': 'Homer'}]
sorted_x = sorted(x, key=lambda x : x['name'], reverse=True)
print sorted_x
#[{'age': 39, 'name': 'Homer'}, {'age': 10, 'name': 'Bart'}]

总结

以上所述是小编给大家介绍的python 使用值来排序一个字典的方法网站的支持!

来源:http://www.cnblogs.com/shenxiaolin/p/9368544.html

标签:python,值,排序,字典
0
投稿

猜你喜欢

  • 利用pipenv和pyenv管理多个相互独立的Python虚拟开发环境

    2022-06-03 19:54:30
  • windows中python实现自动化部署

    2023-06-24 16:04:14
  • python通过txt文件批量安装依赖包的实现步骤

    2022-05-10 23:26:14
  • mysql8.0.21下载安装详细教程

    2024-01-26 15:40:00
  • 基于PyQt5制作一个数据图表生成器

    2022-08-11 16:20:25
  • Python中BeautifuSoup库的用法使用详解

    2023-11-19 04:52:48
  • 关于Python常用函数中NumPy的使用

    2021-09-10 01:00:35
  • Django模板过滤器和继承示例详解

    2023-10-25 16:52:56
  • 一位网友的DIV CSS编码笔记——XieBiji

    2008-09-12 12:22:00
  • 原生JS下拉加载插件分享

    2024-04-29 13:42:35
  • VS2008 和.NET 3.5 Beta2常见问题的解决方案

    2007-09-23 12:33:00
  • python中的queue队列类型及函数用法

    2023-09-04 21:04:01
  • 为什么不建议在go项目中使用init()

    2024-05-11 09:17:47
  • python实现决策树分类算法

    2022-08-10 12:15:56
  • pyramid配置session的方法教程

    2021-04-26 09:23:37
  • Python利用逻辑回归分类实现模板

    2023-11-14 07:02:05
  • 谈一谈基于python的面向对象编程基础

    2021-09-09 11:04:39
  • 浅析mysql 共享表空间与独享表空间以及他们之间的转化

    2024-01-28 04:20:53
  • Python-pip配置国内镜像源的安装方式

    2023-08-22 21:55:38
  • windows、linux下打包Python3程序详细方法

    2023-09-30 22:06:53
  • asp之家 网络编程 m.aspxhome.com