python 使用值来排序一个字典的方法
作者:CuriousZero 发布时间:2022-02-05 00:25:05
标签:python,值,排序,字典
下面先看下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
0
投稿
猜你喜欢
- 有2个不同的方法增加用户:通过使用GRANT语句或通过直接操作MySQL授权表。比较好的方法是使用GRANT语句,因为他们是更简明并且好像错
- 自定义可迭代的类列表可以获取列表的长度,然后使用变量i对列表索引进行循环,也可以获取集合的所有元素,且容易理解。没错,使用列表的代码是容易理
- 效果图:基于d3-v5, 依赖dagre-d3, 直接上代码:<!DOCTYPE html><html lang=&quo
- Golang中使用http.FileServer使用http.FileServer可以管理向浏览器返回静态文件http.Handle(&qu
- 一、Position1、语法:position:static/ absolute / fixed / relative2、参数:(1)sta
- 表单验证做网站程序多多少少都会碰到,其中emai地址的合法性验证也算是一个典型的例子,网页表单的验证我们一般是先在客户端使用javascri
- 喜欢用Python写脚本的小伙伴可以跟着一起写一写呀。编写环境:Python2.x00x1:需要用到的模块需要用到的模块如下:import
- SELECT (case when a.colorder=1 then d.name else '
- 我在Window XP中安装了Gvim7.2,然后桌面上出现了三个快捷方式,gvim72.exe,gvim read-only,gvim e
- 页级:引擎 BDB。表级:引擎 MyISAM , 理解为锁住整个表,可以同时读,写不行行级:引擎 INNODB , 单独的一行记录加锁表级,
- 本文实例讲述了Python高级编程之消息队列(Queue)与进程池(Pool)。分享给大家供大家参考,具体如下:Queue消息队列1.创建i
- 本文实例讲述了Python3实现的回文数判断及罗马数字转整数算法。分享给大家供大家参考,具体如下:回文数判断一个整数是否是回文数。回文数是指
- 目录合理的创建索引设置数据库持久连接减少SQL的执行次数仅获取需要的字段数据使用批量创建、更新和删除,不随意对结果排序参考网址:Django
- python2和python3实现在图片上加汉字,最主要的区别还是内部编码方式不一样导致的,在代码上表现为些许的差别。理解了内部编码原理也就
- 空接口定义空接口是特殊形式的接口类型,普通的接口都有方法,而空接口没有定义任何方法口,也因此,我们可以说所有类型都至少实现了空接口。type
- 一.虚拟机端1.找到mysql的配置文件:sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf按"
- 本文实例讲述了Python3.5运算符操作。分享给大家供大家参考,具体如下:1、运算符的分类2、算术运算符示例代码:#!/usr/bin/e
- 一、AIML是什么AIML全名为Artificial Intelligence Markup Language(人工智能标记语言),是一种创
- 封装是一个将Python数据对象转化为字节流的过程,拆封是封装的逆操作,将字节文件或字节对象中的字节流转化为Python数据对象,不要从不收
- Oracle数据安全面面观 作者:づ★sl战神 随着计算机的普及以及网络的发展,数据库已经不再仅仅是那些程序员所专有的话题。而Oracle数