python-列表包字典-根据字典的某一个键的值来进行排序

列表包字典的数据结构

要实现按照字典中的某一个键所对应的值进行排序

有两种办法

方法一,使用列表的sort方法

由小到大排
列表.sort(key=lambda 形参:形参[str键名称]) 由大到小排
列表.sort(key=lambda 形参:形参[str键名称], reverse=True)

方法二,使用sorted函数

由小到大排序
新列表 = sorted(列表,key=lambda 形参:形参[str键名称]) 由大到小排序
新列表 = sorted(列表,key=lambda 形参:形参[str键名称], reverse = True)

举例说明

stuDictList = [
{"name": "张飞", "power": 96, "tellegent": 30},
{"name": "诸葛亮", "power": 40, "tellegent": 99},
{"name": "周瑜", "power": 79, "tellegent": 93},
{"name": "赵云", "power": 97, "tellegent": 86},
] print("原始的数据\n{}".format(stuDictList))
# 原始的数据
# [{'name': '张飞', 'power': 96, 'tellegent': 30}, {'name': '诸葛亮', 'power': 40, 'tellegent': 99}, {'name': '周瑜', 'power': 79, 'tellegent': 93}, {'name': '赵云', 'power': 97, 'tellegent': 86}] print("开始按照武力排序,由小到大")
stuDictList.sort(key=lambda stu: stu["power"])
print("排好序后新数据\n{}".format(stuDictList))
# 开始按照武力排序,由小到大
# 排好序后新数据
# [{'name': '诸葛亮', 'power': 40, 'tellegent': 99}, {'name': '周瑜', 'power': 79, 'tellegent': 93}, {'name': '张飞', 'power': 96, 'tellegent': 30}, {'name': '赵云', 'power': 97, 'tellegent': 86}] print("开始按照智力值排序,由大到小")
def func(ele):
return ele["tellegent"] new_list = sorted(stuDictList, key=func, reverse=True)
print("排序结果{}".format(new_list))
# 开始按照智力值排序,由大到小
# 排序结果[{'name': '诸葛亮', 'power': 40, 'tellegent': 99}, {'name': '周瑜', 'power': 79, 'tellegent': 93}, {'name': '赵云', 'power': 97, 'tellegent': 86}, {'name': '张飞', 'power': 96, 'tellegent': 30}]

operator 模块

import operator
new_list = sorted(stuDictList, key=operator.itemgetter('tellegent'), reverse=True)
print(new_list) # [{'name': '诸葛亮', 'power': 40, 'tellegent': 99}, {'name': '周瑜', 'power': 79, 'tellegent': 93}, {'name': '赵云', 'power': 97, 'tellegent': 86}, {'name': '张飞', 'power': 96, 'tellegent': 30}]

原文链接:https://blog.csdn.net/ifubing/article/details/99607452

python-列表包字典-根据字典的某一个键的值来进行排序的更多相关文章

  1. Python列表、元组、字典和字符串的常用函数

    Python列表.元组.字典和字符串的常用函数 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中 ...

  2. python 列表、元组、字典的区别

    区别: 相互转换:https://www.cnblogs.com/louis-w/p/8391147.html 一.列表 list [1,[2,'AA'],5,'orderl'] 1.任意对象的有序集 ...

  3. Python: 列表,元组,字典的区别

    Python中有3种内建的数据结构:列表,元组和字典 1.列表 list是处理一组有序项目的数据结构,即可以在一个列表中存储一个序列的项目.列表中项目应该包括在方括号中,这样python就知道是在指明 ...

  4. Python 列表、元组、字典及集合操作详解

    一.列表 列表是Python中最基本的数据结构,是最常用的Python数据类型,列表的数据项不需要具有相同的类型 列表是一种有序的集合,可以随时添加和删除其中的元素 列表的索引从0开始 1.创建列表 ...

  5. Python列表、集合与字典(3)

    目录 一.列表 二.集合 三.字典 一.列表 1. 列表初识   列表的使用为处理特定顺序排列的数据提供了便利,列表元素可以是字母.数字或者其他信息,同时所加元素之间不存在任何关系.   在Pytho ...

  6. python列表、元组、字典、集合的简单操作

    一.列表.元组 1.常用操作函数 #Author:CGQ import copy #列表 ''' names=["ZhangYang","XiaoHei",&q ...

  7. python列表,元组,字典,集合的比较总结

    这四个都是python中的序列,用于存放数据,他们区别总结如下:   列表list 元组tuple 字典dictionary 集合set 是否可变 可变 不可变 可变 可变 是否有序 有序 有序 无序 ...

  8. python 列表、元组、字典

    一.列表 [ ] 如下的列子都可以成为列表,c=[1,2,3,4,5,6],d=["abc", "张三",“李四”],e=[1,2,3,"abc&qu ...

  9. Python列表、元组、字典、集合的内置使用方法

    列表: 是一种可以存储多个值得数据容器 内容是有序的 可以存储任何数据类型 可以存储重复的元素 是可变类型(当内容发生变化时id不变) 元组: 也是一种可以存储多个值得数据容器 元组中的元素不可以被修 ...

随机推荐

  1. Hbase各组件职责

    Hbase各组件职责 Client职责 1.HBase有两张特殊表: .META.:记录了用户所有表拆分出来的的Region映射信息,.META.可以有多个Regoin -ROOT-:记录了.META ...

  2. os模块和os.path模块常用方法

    今天和大家分享python内置模块中的os模块和os.path模块. 1.什么是模块呢? 在计算机开发过程中,代码越写越多,也就越来越难以维护,所以为了可维护的代码,我们会把函数进行分组,放在不同的文 ...

  3. WPF 中的相关样式

    <Image Name="icon" Width="40" Height="40"  Source="/Resources/ ...

  4. 4.mysql profile的使用方法

    profile的使用 1.作用 使用profile可以对某一条sql性能进行分析 2.语法 mysql> show variables like '%profil%'; +----------- ...

  5. 什么是可变参数?如何创建不可变集合?Steam三类方法是什么?获取流方法特点?流中间方法特点?终结流方法特点?

    ==知识梳理== ==重难点梳理== ==今日目标== 1.能够了解什么是可变参数 2.能够了解如何去创建不可变集合 3.能够掌握Stream流的使用 ==知识点== 1.可变参数 2.Stream流 ...

  6. App Shortcuts 快捷方式:Android 的 '3D Touch'

    Hello Shortcuts 从Android7.1(API level25)开始,开发者可以为自己的app定制shortcuts.shortcuts使用户更便捷.快速的使用app.我个人感觉有点像 ...

  7. double 转为long类型

    System.out.println(new Double(234314.999999999).longValue());//234314  System.out.println(new Double ...

  8. 转载--对batch normalization的理解

    转载的大神的: https://www.cnblogs.com/guoyaohua/p/8724433.html 上边这个应该是抄的下边这个原文,但是上边的有重点标记 https://blog.csd ...

  9. 母鸡下蛋实例:多线程通信生产者和消费者wait/notify和condition/await/signal条件队列

    简介 多线程通信一直是高频面试考点,有些面试官可能要求现场手写生产者/消费者代码来考察多线程的功底,今天我们以实际生活中母鸡下蛋案例用代码剖析下实现过程.母鸡在鸡窝下蛋了,叫练从鸡窝里把鸡蛋拿出来这个 ...

  10. JavaWeb代码复用

    servlet部分,可能用得到的复用的代码: 1.dopost设置字符 request.setCharacterEncoding("utf-8"); response.setCha ...