python中字典以key排序,以value排序。以及通过value找key的方式

1.sorted函数
首先介绍sorted函数,sorted(iterable,key,reverse),sorted一共有iterable,key,reverse这三个参数。

其中iterable表示可以迭代的对象,例如可以是dict.items()、dict.keys()等,key是一个函数,用来选取参与比较的元素,reverse则是用来指定排序是倒序还是顺序,reverse=true则是倒序(从大到小),reverse=false则是顺序(从小到大),默认是reverse=false。

2.按照key排序
要对字典按照key排序,可以直接调用sorted函数。

my_dict = {‘lilee‘:25, ‘age‘:24, ‘phone‘:12}
sorted(my_dict.keys())
输出结果为

[‘age‘, ‘lilee‘, ‘phone‘]

直接使用sorted(my_dict.keys())就能按key值对字典排序,这里是按照顺序对key值进行排序的,如果想按照倒序排序的话,只需要将reverse置为true即可。

sorted(my_dcit.keys(), reverse = true)

3.按照value值排序
共有三种方法可以实现将字典按照value值进行排序

(1)key使用lambda匿名函数取value进行排序

d = {‘lilee‘:25, ‘wangyan‘:21, ‘liqun‘:32, ‘age‘:19}
sorted(d.items(), key=lambda item:item[1])
输出结果为

[(‘age‘,19),(‘wangyan‘,21),(‘lilee‘,25),(‘liqun‘,32)]
如果需要倒序则

sorted(d.items(), key=lambda item:item[1], reverse=True)
得到的结果就会是

[(‘liqun‘,32),(‘lilee‘,25),(‘wangyan‘,21),(‘age‘,19)]

4.通过value找key

1)[k for k, v in dict.items() if v == value]

2)反转k,v,new_dict = {v : k for k, v in dict.items()}

原文地址:https://www.cnblogs.com/shengguorui/p/11625776.html

时间: 2024-11-01 10:23:33

python中字典以key排序,以value排序。以及通过value找key的方式的相关文章

python 中字典、数组

a = {"k1":"v1","A":1,"a":2,5:"i5"} a["A"] ="直接修改" a["aa"]="没有的键是新建" del a["a"] #删除一个元素 d.clear() #清空一个字典 1.字典是键值对,没有顺序, 2.键大小写敏感 3.键值可以是混合类型的 b = ["a&

Python中字典get方法的使用

Python中字典get方法的使用 说起来,这个功能是否需要学习还真是有待于讨论.其实,知道了字典这种数据结构以后,通过最基本的Python功能也能够实现一个类似的功能.不过,既然内置了这个功能那么我们就没有必要重复造车轮. 在字典内置的方法中,想说的方法为get.这个方法是通过键来获取相应的值,但是如果相应的键不存在则返回None.其实,None只是一个默认的返回值但是并不是一个不能修改的返回值.其实,如果查询失败,我们可以指定一个返回值. 上面提到的所有功能汇总在一个示范代码,具体如下: #

python中字典的使用

python中的字典的特性: 在字典中的元素是散列存放的,没有顺序, 在进行增删改查的时候使用字典中需要的关键字(key)即可. 一: 创建字典 1)直接定义一个: dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'} 注: 字典中可包含列表:dict={'yangrong':['23','IT'],"xiaohei":['22','dota']} 字典中可包含字典:dict={'yangrong':{"age&q

浅谈python中字典

1.字典的定义方式有以下: a=dict(one=1,two=2,three=3) b={'one':1,'two':2,'three':3} c=dict(zip(['one','two','three'],[1,2,3])) d=dict([('two',2),('one',1),('three',3)]) e=dict({'three':3,'one':1,'two':2}) 其中这四种定义方式完全等效,有一点需要牢记,标准库中所有的映射类型都是通过字典(dict)来实现,其中只有可散列(

Python中字典和集合

映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元组等 包含可变对象的列表.字典和元组不能用作键 引用不存在的键会引发KeyError异常 1)字典 dict { } 空字典 { key1:value1,key2:value2,... } 字典在其它编程语言中又称作关联数组或散列表: 通过键实现元素存取:无序集合:可变类型容器,长度可变,异构,嵌套 支持的操作: len(D

python中字典,元组,集合

python中的字典,元组,集合 -dict -tuple -set dict 字典增删改查 字典创建 my_dict = {'a':1,'b':2} my_dict {'a': 1, 'b': 2} de8ug = {'name':'de8ug', 'city':'beijing', 'code':'python'} #个人信息 de8ug['name'] 'de8ug' de8ug['city'] 'beijing' de8ug.get('name') #尝试去获取name的值 'de8ug

Python中字典和集合的用法

本人开始学习python 希望能够慢慢的记录下去 写下来只是为了害怕自己忘记. python中的字典和其他语言一样 也是key-value的形式  利用空间换时间 可以进行快速的查找 key 是唯一的 不可变的类型 比如 str int 等  不能是list之类的可变类型 1.定义 定义一个字典 格式{key:value,key:value} a = {'a':80,'b':90,1:'a',2:[1,2]} print(a) 如果是定义如下 a = {'a':90,[1,2,3]:10} 则会

python中字典dictionary详解及基本使用

1.dictionary是Python中除了list以外最灵活的数据类型 2.字典同样可以存储多个数据 3.通常用来存储描述某个物体的相关特征 4.和列表的区别 列表是有序的 字典是无须的 5.字典用{}来定义 6.字典用键值对存储数据,键值对之间用英文逗号分隔 键 key是索引 值 vaule是数据 键和值之间使用英文冒号:分隔 键必须是唯一的 值可以是任意数据类型,但是值只能是字符串.数字或元组 # 字典是一个无需的数据集合,print输出字典时通常输出的顺序和定义的顺序是不一致的 xiao

Python中字典的详细用法

#字典 #字典是Python中唯一内建的映射类型.字典中没有特殊的顺序,但都是存储在一个特定的键(key)下面,键可以是数字,字符串,甚至是元组 #一.字典的使用 #在某些情况下,字典比列表更加适用: #1.表示一个游戏棋盘的状态,每个键都是由坐标值组成的元组 #2.存储文件修改时间,用文件名作为键; #3.数字电话\地址薄 #1.使用列表创建一个电话本,(这里用字符串表示电话号码,以0开头的数字回会被编译成8进制数字) name=["A","B","C&