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. Redisearch实现的全文检索功能服务

    "检索"是很多产品中无法绕开的一个功能模块,当数据量小的时候可以使用模糊查询等操作凑合一下,但是当面临海量数据和高并发的时候,业界常用 elasticsearch 和 lucene ...

  2. 用Python分析北京市蛋壳公寓租房数据

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 近期,蛋壳公寓"爆雷"事件持续发酵,期间因拖欠房东房租与租客退款,蛋壳公寓陷入讨 ...

  3. 太酷炫了!!我会Python 导包八种方法,你呢?

    1. 直接 import 人尽皆知的方法,直接导入即可 >>> import os >>> os.getcwd() '/home/wangbm'复制代码 与此类似的 ...

  4. C# 数据结构与算法 操作系统原理 计算机网络原理 数据库开发学习

    https://www.cnblogs.com/edisonchou/p/3843287.html PDF https://files.cnblogs.com/files/netlock/%E6%95 ...

  5. 关于Git的一些常规操作

    最近刚换了新的办公电脑,Git有重新安装了一遍,很多步骤久了不操作就忘了,又是好一顿折腾,于是这次就顺便记下来了. 不错的Git教程: https://www.liaoxuefeng.com/wiki ...

  6. [Python] iupdatable包:Timer 类使用介绍

    iudatable包是我对常用函数进行的封装后发布的一个python包,教程汇总目录: [Python] iupdatable包使用说明 安装 iupdatable 包 pip install iup ...

  7. Spring Cloud Eureka 简单创建

    1.pom.xml 添加相关依赖 <dependency>     <groupId>org.springframework.cloud</groupId>    ...

  8. std::thread线程详解(1)

    目录 目录 简介 线程的使用 线程的创建 线程的方法和属性 std::jthread (C++20) stop_token (C++20) 总结 Ref 简介 本文主要介绍了标准库中的线程部分.线程是 ...

  9. eclipse的相关操作和使用快捷键

    修改字体Window->preferences->General->Appearance->ColorsandFonts ->Basic->text Font 在e ...

  10. Kubernetes K8S之通过helm部署metrics-server与HPA详解

    Kubernetes K8S之通过helm部署metrics-server与 Horizontal Pod Autoscaling (HPA)详解 主机配置规划 服务器名称(hostname) 系统版 ...