python中字典按键、值进行排序
看到排序,就不禁想起python中的sort和sorted
sort是列表中的方法,用于对列表进行排序(改变的是原列表,不返回新列表)
用法: list.sort(key=None,reverse=True) ,参数中reverse默认是False,表示升序,如果设置成True就是降序(注意要首字母要大写)
sorted是Python的内建函数,用于对可迭代对象进行排序,返回一个新的迭代对象
用法:sorted(iterable,key=None,reverse=False),参数中iterable是迭代对象,key是用来比较的元素(比如字典可以选择按键或值进行排序),reverse默认False升序,可设置成True降序(注意要首字母要大写)
对列表进行排序既可以用sort也可以用sorted
from random import randint
# sort只能对列表使用,sorted用于所有可迭代对象
# randint是random模块下的一个函数,可以生成范围内的一个随机数
list = [randint(1,100) for i in range(10)]
print('列表排序前:',list ,'地址为:',id(list))
list1 = list.sort(reverse=True)
print('用sort降序排序后返回:',list1,'此时原始列表为:',list )
list2 = sorted(list,reverse=True)
print('用sorted降序排序后返回:',list2 ,'地址为:',id(list2))
用sort和sorted对列表进行排序
运行结果为:

可以看出用sort返回值是None,用sorted则会返回一个新的列表。如果不用保存原始列表的话,用sort方法节省空间、效率会高一些。
接下来用sorted对字典进行排序(sort只能用于对列表排序)
按键排序:
sorted(dict.items(),key=lambda dict:dict[0],reverse=False)返回的是列表,列表内是根据键(key)排好序的元祖
sorted(dict,key=lambda dict:dict[0],reverse=False)返回的是列表,列表内是排好序的键(key)
sorted(dict.keys(),reverse=False)返回的是列表,列表内是排好序的键(key)
按值排序:
sorted(dict.items(),key=lambda dict:dict[1],reverse=False)返回的是列表,列表内是根据值(values)排好序的元祖
sorted(dict.values(),reverse=False)返回的是列表,列表内是排好序的值(values)
关于lambda匿名函数,可以看https://www.cnblogs.com/xiaocaiqa/p/12469583.html
如果需要返回一个字典,那么就要对返回的列表进行处理:
python中字典按键、值进行排序的更多相关文章
- python根据字典的值进行排序:
有一个列表嵌套字典:[{"a": 5}, {"b": 4}, {"c": 1},{"e": 2}, {"d&q ...
- python中字典排序,列表中的字典排序
python中字典排序,列表中的字典排序 一.使用python模块:operator import operator #首先要导入模块operator x = {1:2, 3:4, 4:3, 2:1, ...
- python中字典的循环遍历的两种方式
开发中经常会用到对于字典.列表等数据的循环遍历,但是python中对于字典的遍历对于很多初学者来讲非常陌生,今天就来讲一下python中字典的循环遍历的两种方式. 注意: python2和python ...
- Python中字典和集合
Python中字典和集合 映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元 ...
- PHP如何根据数组中的键值进行排序
主要是使用PHP的排序函数,asort()和arsort(). 为了减少代码的耦合性,我们将根据数组中的键值进行排序封装成一个函数 <?php $array = array( array(), ...
- python中字典的陷阱
把字典与列表组合,如 i=20 s=[]#定义一个空列表 b={'d':i}#定义一个字典 while i>0: i=i-1 b['d']=i#更新字典的值 s.append(b) print( ...
- python中字典排序
一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a ...
- 浅谈python中字典append 到list 后值的改变问题
看一个例子 ? 1 2 3 4 d={'test':1} d_test=d d_test['test']=2 print d 如果你在命令行实践的话,会发现你改动的是d_test ,但是d 也跟着改变 ...
- Python - 字典按值(value)排序
字典安值排序是一个伪命题. 字典本身是不能被排序的, 已经依照关键字(key)排序, 可是列表(list)和元组(tuple)能够排序, 所以字典须要转换列表后排序. 如 import operato ...
随机推荐
- C++面向对象总结——虚指针与虚函数表
最近在逛B站的时候发现有候捷老师的课程,如获至宝.因此,跟随他的讲解又复习了一遍关于C++的内容,收获也非常的大,对于某些模糊的概念及遗忘的内容又有了更深的认识. 以下内容是关于虚函数表.虚函数指针, ...
- MapReduce框架-Join的使用
引言 首先先明白在关系型数据库中Join的用法. Join在MapReduce中的用法也是用于两个文件之间的连接. 使用MR程序解决两张表的join问题,有两种解决方案 à MR程序的join应用 1 ...
- Spring Boot 与 R2DBC 整合
R2DBC 是 "Reactive Relational Database Connectivity"的简称.R2DBC 是一个 API 规范的倡议,声明对于访问关系型数据库驱动实 ...
- 作为有经验的程序员如果不懂Lambda表达式就说不过去了吧,建议收藏!!!
最近刚好有空给大家整理下JDK8的特性,这个在实际开发中的作用也是越来越重了,本文重点讲解下Lambda表达式 Lambda表达式 Lambda 表达式,也可称为闭包,它是推动 Java 8 ...
- Guava入门第一章(Joiner)
Guava是什么? Guava是一种基于开源的Java库,Google Guava源于2007年的"Google Collections Library".这个库是为了方便编码,并 ...
- Linux性能优化-平均负载
Linux性能优化-平均负载 目录 Linux性能优化-平均负载 平均负载的含义 平均负载为多少时合理 平均负载与 CPU 使用率 平均负载案例分析 场景一:CPU 密集型进程 场景二:I/O 密集型 ...
- Java基础技术基础面试【笔记】
Java基础技术基础面试[笔记] String.StringBuilder以及StringBuffer三者之间的区别? 三者的区别可以从可变性,线程安全性,性能这三个部分进行说明 可变性 从可变性来说 ...
- C#/VB.NET 将PDF转为OFD
OFD,全称Open Fixed-layout Document ,是一种可存储.读取以及编辑的国家标准版式的电子文档格式,属于中国的一种自主文件格式,在安全性上有可靠保证.为突破国外技术在我们软硬件 ...
- Docker创建Docker-Registry-私服
docker-compose.yml version: '3.1' services: registry: image: registry restart: always container_name ...
- spring学习日志三
一.回顾 1.1 依赖注入的方式. set方法来注入 <property name="属性名" /> 构造方法来注入<construtor-arg index=& ...