Python中按值来获取指定的键

yipeiwu_com6年前Python基础

Python字典中的键是唯一的,但不同的键可以对应同样的值,比如说uid,可以是1001。id同样可以是1001。这样的话通过值来获取指定的键,就不止一个!而且也并不太好处理。这里同样提供两种思路来处理。

方法一:

>>> dct = {'Name': 'Alice', 'Age': 18, 'uid': 1001, 'id': 1001}
>>> def get_key1(dct, value):
...   return list(filter(lambda k:dct[k] == value, dct))
>>> get_key1(dct, 1001)
['id', 'uid']

方法二:

>>> dct = {'Name': 'Alice', 'Age': 18, 'uid': 1001, 'id': 1001}
>>> def get_key2(dct, value):
...   return [k for (k,v) in dct.items() if v == value]
>>> get_key2(dct, 1001)
['id', 'uid']
>>> get_key2(dct, 1000)
[]

上面的两种方法可以很方便高效的来处理字典中按值来找键的问题!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对【听图阁-专注于Python设计】的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

Python简单读写Xls格式文档的方法示例

Python简单读写Xls格式文档的方法示例

本文实例讲述了Python简单读写Xls格式文档的方法。分享给大家供大家参考,具体如下: 1. 模块安装 使用pip install命令安装, 即: pip install xlrd...

pandas条件组合筛选和按范围筛选的示例代码

pandas条件组合筛选和按范围筛选的示例代码

1、从记录中选出所有fault_code列的值在fault_list= [487, 479, 500, 505]这个范围内的记录 record2=record[record...

Python实现二维数组按照某行或列排序的方法【numpy lexsort】

本文实例讲述了Python实现二维数组按照某行或列排序的方法。分享给大家供大家参考,具体如下: lexsort支持对数组按指定行或列的顺序排序;是间接排序,lexsort不修改原数组,返...

Python中使用摄像头实现简单的延时摄影技术

Python中使用摄像头实现简单的延时摄影技术

延时摄影(英语:Time-lapse photography)是以一种较低的帧率拍 下图像或者视频,然后用正常或者较快的速率播放画面的摄影技术。在一段延时摄影视频中,物体或者景物缓慢变化...

Python实现字典的key和values的交换

有些时候我们不得已要利用values来反向查询key,有没有简单的方法呢? 下面我给大家列举一些方法,方便大家使用 python3 >>> d1={'a':1,'...