列表嵌套字典,根据字典某一key排序

在返回列表嵌套字典时候,往往需要对数据进行一定的处理:
按照字典中某一个key排序

In [87]: a = [{"name": "牛郎", "age": 23},{"name":"许仙", "age": 20},{"name":"董永", "age": 18}]
In [88]: a
Out[88]:
[{‘name‘: ‘牛郎‘, ‘age‘: 23},
 {‘name‘: ‘许仙‘, ‘age‘: 20},
 {‘name‘: ‘董永‘, ‘age‘: 18}]
In [89]: a.sort(key=lambda x:(x[‘name‘], x[‘age‘]))  # 根据字典中name,age排序
In [90]: a
Out[90]:
[{‘name‘: ‘牛郎‘, ‘age‘: 23},
 {‘name‘: ‘董永‘, ‘age‘: 18},
 {‘name‘: ‘许仙‘, ‘age‘: 20}]
In [91]: a.sort(key=lambda x:(x[‘age‘], x[‘name‘]))
In [92]: a
Out[92]:
[{‘name‘: ‘董永‘, ‘age‘: 18},
 {‘name‘: ‘许仙‘, ‘age‘: 20},
 {‘name‘: ‘牛郎‘, ‘age‘: 23}]

如果排序字段是数字类型,如果我们需要对该字段进行逆序排,也可以这么写:

a.sort(key=lambd x :(x[‘name‘], -x[‘age‘]))

原文地址:http://blog.51cto.com/10412806/2174512

时间: 2024-10-31 13:12:47

列表嵌套字典,根据字典某一key排序的相关文章

Python 字典 列表 嵌套 复杂排序大全

https://blog.csdn.net/ray_up/article/details/42084863 一: 字典排序 解析: 使用sorted 方法, 排序后的结果为一个元组. 可以字符串排序(那数字肯定更没问题了!) 1:  按照键值(value)排序 a = {'a': 'China', 'c': 'USA', 'b': 'Russia', 'd': 'Canada'}b = sorted(a.items(), key=lambda x: x[1], reverse=True)结果:[

案例:python列表嵌套字典实现备忘录

1.使用字典和列表嵌套结构表示多条记录2.添加信息时,直接输入一句话,进行解析拆解,记录时间与事件3.不同信息采用不同颜色输出 #!/user/bin/env Python # _*_ coding:utf-8 _*_ # 51memo.py # author:大宝dayday见 __author__ = '大宝dayday见' desc = '51备忘录'.center(30,'-') print(desc) welcome = 'welcome' print(f'{welcome}作者:',

2.python基础之—列表,元组,字典,集合,字符串的使用方法

一.关于python序列的简介. python里面的序列大部分都可以执行,索引,切片,加,乘,检查长度,以及检查某个成员是否存在,甚至还可以找出这个序列中最小的元素和最大的元素,并且序列都是可迭代的. 解释下个人理解的迭代,迭代(iteration),序列中的迭代就是对序列中的每个元素重复执行某些操作/ 具体的迭代方式后面会说到. 下面就说说python序列的共有特点. 1.索引 一个序列中,所有的元素都有自己的编号,这个编号是从0开始的,这个编号就是所谓的索引,这些元素可以通过索引来依次访问.

模块、数据类型、列表、元组、字典

sys模块: import sys print sys.path           #打印出python的标准库及内部文件存在的路径 sys.argv                  #打印本脚本的路径 #-----------------------------还不懂--------------------------------- os模块:用于与操作系统的交互 os.system('dir')          #打印当前目录下的文件,能够直接输出到屏幕上,但不能存储 os.popen

Python3组合数据类型(元组、列表、集合、字典)语法

一.序列类型(字符串,元组(),列表[]) 序列类型支持in,len(),分片[],迭代,5种内置序列类型:bytearray,bytes,list,str,tuple(元组). 1.元组可以嵌套(如:x=str[2][1][0][1]) 2.元组的命名(collections.namedtuple(),即自定义) 样:sale=collctions.namedtuple("sale","productid customerid date price") 逗号前的为

Python基础之列表、元组、字典、集合的使用

一.列表 1.列表定义 names=["Jhon","Lucy","Michel","Tom","Wiliam"] 列表切片: names=["HeXin","ZhangLiang",["caijie","LiSi"],"LiYun","TianJun",'GuYun'] print(na

python---基础之模块,列表,元组,字典

1. 模块 写模块的时候尽量不要和系统自带的模块的名字相同 调用模块的时候,会先在当前目录下查找是否有这个模块,然后再会如python的环境变量中查找   a.模块1:sys 代码如下: 1 import sys 2 print(sys.path) 该代码的作用就是打印出python环境变量如下所示: D:\\python培训\\s14\\day2 D:\\python培训\\s14 D:\\python35\\python35.zip D:\\python35\\DLLs D:\\python

python数据类型:列表、元组、字典、集合

列表 一.列表基础  前言: 数组:把一堆同类型的数据挨个放在一起 列表:把一堆任意类型的数据挨个放在一起(基于变量没有类型,列表中的数据也没有类型的) 语法: list名=[value1,value2,value3,.....] 1.中括号 :2.数据间用逗号隔开; 特点:有序,数据可重复,数据类型可以不一致,可嵌套使用 示例: list=[1,'22',"龙猫",3.14]    #各种数据类型 list=[1,'22',"龙猫",3.14,[1,2,3]]  

数据类型总结(二)(列表,元组,字典)

一.变量的赋值操作 x=1 a=10 b=10 # #链式赋值 a=b=c=d=e=f=10 print(a,b,c,d,e,f) #多元赋值 #方式一 x=1 y=2 z=x #z=1 x=y #x=2 y=z #y=1 print(x,y) #方式二:python特有 x,y=y,x print(x,y) #增量赋值 x=10 x+=1 #x=x+1 print(x) #解压序列类型 s='hello' a=s[0] b=s[1] c=s[2] d=s[3] e=s[4] print(a,b