从Python字典中的值查找键
在字典中,根据对应的值查找键是一种常见的方法任务。虽然有其他可用的方法,例如使用 dict.get() 函数或迭代字典的项目,但一种简单有效的方法是使用列表理解。
实现键查找
要查找所需的键,您可以使用以下列表理解:
key = [key for key, value in dict_obj.items() if value == 'value'][0]
此推导式迭代字典中的所有键值对,并根据提供的值进行过滤,返回匹配键的列表。然后使用 [0] 索引从列表中检索第一个键。
替代方法:生成器表达式
生成器表达式可以代替列表理解提供更有效的方法来处理大型字典。生成器表达式返回一个生成器对象,该对象一一生成值。它更节省内存,并且避免创建中间列表。
以下生成器表达式实现相同的结果:
key = next(key for key, value in dd.items() if value == 'value')
其中 dd 是目标字典。该表达式迭代字典项并生成第一个匹配的键。如果没有找到匹配,它将引发 StopIteration。捕获此异常可以帮助处理字典中不存在该值的情况。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3