Python3字典排序
创建一个字典
dict1={'a':2,'b':3,'c':8,'d':4}
1、分别取键、值
取字典的所有键,所有的值,利用dict1.keys(),dict1.vaules(),
由于键,值有很多个,所以要加s,另外注意这里要加括号,这样的小细节不注意,很容易犯错。
print(dict1.values(),dict1.keys())
结果:
dict_values([4, 2, 8, 3]) dict_keys(['d', 'a', 'c', 'b'])
可以看出,返回的是列表的形式
2、同时取键、值
同时取字典的键、值,dict1.items(),这里同样加s和括号
print(dict1.items())
结果:
dict_items([('d', 4), ('a', 2), ('c', 8), ('b', 3)])
可以看出,返回的结果是元组组成的列表
也就是说,通过dict1.items()这个函数,把字典形式的键、值,存在了一个元组内。
3、排序
3.1 sorted
先看一下,直接用sorted()排序的情况。
dict1={'a':2,'e':3,'f':8,'d':4}
dict2 = sorted(dict1)
print(dict2)
结果:
['a', 'd', 'e', 'f']
sorted()默认是对字典的键,从小到大进行排序
3.2 、对键反向排序
对键进行反向(从大到小)排序
dict1={'a':2,'e':3,'f':8,'d':4}
dict2 = sorted(dict1,reverse=True)
print(dict2)
结果:['f', 'e', 'd', 'a']
像这种对键进行排序,往往是为了得到 值(value)
拿到键最大,对应的值,如:
print(dict1[dict2[0]])#结果为8
当然我们也可以先拿到所有的key,然后再对key排序
dict1={'a':2,'e':3,'f':8,'d':4}
list1= sorted(dict1.keys(),reverse=True)
print(list1) # 结果:['f', 'e', 'd', 'a']
3.3、对值排序
同样,用dict1.values()得到所有的values,然后对value排序
dict1={'a':2,'e':3,'f':8,'d':4}
list1= sorted(dict1.values())
print(list1) #结果:[2, 3, 4, 8]
设值reverse=True 进行反向排序
也可以用dict1.items(),得到包含键,值的元组
由于迭代对象是元组,返回值自然是元组组成的列表
这里对排序的规则进行了定义,x指元组,x[1]是值,x[0]是键
dict1={'a':2,'e':3,'f':8,'d':4}
list1= sorted(dict1.items(),key=lambda x:x[1])
print(list1)
结果:
[('a', 2), ('e', 3), ('d', 4), ('f', 8)]
对键进行排序:
dict1={'a':2,'e':3,'f':8,'d':4}
list1= sorted(dict1.items(),key=lambda x:x[0])
print(list1)
结果:
[('a', 2), ('d', 4), ('e', 3), ('f', 8)]
4 itemgetter
from operator import itemgetter
d = {"a":8,"b":4,"c":12}
print(sorted(d.items(),key=itemgetter(0),reverse=True))
print(sorted(d.items(),key=itemgetter(1),reverse=True))
结果:
[('c', 12), ('b', 4), ('a', 8)]
[('c', 12), ('a', 8), ('b', 4)]
itemgetter(0),获取key
itemgetter(1),获取value
---------------------
转自原文:https://blog.csdn.net/ustbbsy/article/details/79637594
Python3字典排序的更多相关文章
- python3 字典常见用法总结
python3 字典常见用法总结 Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表 ...
- day3--集合、文件操作、字符编码与转换、函数(递归,lambda,filter,map)、字典排序
list1 = set([1, 2, 3, 4, 5, 6, 5, 5, 5])list2 = set([11, 2, 36, 'a', 5, 6, 5, 5, 5])list3 = set([1, ...
- python进阶--字典排序
zip()函数 sorted() 要求对字典中,按值的大小排序 解决方案: 利用zip函数 zip函数介绍: zip函数可以将可迭代对象打包成一个个元组,在python3中返回一个对象,在python ...
- C# 字典排序Array.Sort
Array.Sort可以实现便捷的字典排序,但如果完全相信他,那么就容易产生些异常!太顺利了,往往是前面有坑等你. 比如:微信接口,好多地方需要签名认证,签名的时候需要用的字典排序,如果只用Array ...
- python 字典排序 关于sort()、reversed()、sorted()
一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a ...
- <转>python字典排序 关于sort()、reversed()、sorted()
一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a ...
- java的字典排序
按照教程上的代码还是报错 应该是字典排序的问题,不能是Arrays.sort()
- Python3 字典 get() 方法
Python3 字典 描述 Python 字典 get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法: dict.get(key, default=None) 参数 ...
- Python3 字典 fromkeys()方法
Python3 字典 描述 Python 字典 fromkeys() 函数用于创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值. 语法 fromkeys()方法语法: ...
随机推荐
- 22.Java基础_StringBuilder类
String类对象的拼接操作:执行到s+="world"语句时,常量池会先创建"world"对象,再去创建"helloworld"对象,最后 ...
- web的前台、后台、前端、后端
前台:呈现给用户的视觉和基本的操作.后台:用户浏览网页时,我们看不见的后台数据跑动.后台包括前端,后端.前端:对应我们写的html .javascript 等网页语言作用在前端网页.后端:对应jsp. ...
- vue-cli2 打包
npm run build 打包安装 相当于静态资源 解决vue-cli项目打包出现空白页和路径错误的问题 路径错误的问题解决方式: 打开config文件夹下的 index.js 找到如下图所示区域: ...
- linux 安装盘作为 repo
1) CentOS 7.7 安装完之后, /etc/yum.repos.d 下面有很多.repo. 其中有一个CentOS-Media.repo. 编辑文件把enabled 改成 1 . 然后把其他. ...
- nanopor软件列表
1.软件
- JSX中引用CSS的一种方法
第一步:在page或者pages目录下新建一个css文件,例如style.css: 第二步:在jsx页面中import该css文件,例如: import style from './style.css ...
- P2按要求补全表达式
---恢复内容开始--- #include<stdio.h> int main () { int x; printf("输入一个整数"); scanf(" ...
- linux软链接
这是linux中一个非常重要的命令,他的功能是为某一个文件在另一个位置建立一个同步的链接,这个命令最常用的参数是-s, 具体用法是: ln -s 源文件 目标文件 当我们需要在不同的目录,用到相同的文 ...
- VMware workstation 12虚拟机安装CentOS7详细安装教程
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的.运行在一个完全隔离环境中的完整计算机系统. 虚拟系统通过生成现有操作系统的全新虚拟镜像,它具有真实windows系统完全 ...
- 全链路跟踪TraceId
数据库主键:标示唯一一条数据,譬如唯一商品,唯一订单 全局事务ID:实现分布式事务一致性的必备良药 请求ID:requestId,seesionId,标示一个请求或者一次会话的生命周期 身份证ID:代 ...