Python 获取字典特定值对应的键的实现

小鹿同学
小鹿同学
发布时间:2026-10-14| 2人浏览过
原创

本文介绍在 Python 中如何通过字典的值查找对应的键。主要涵盖两种场景:一是通过自定义函数遍历字典,返回所有匹配指定值的键集合;二是利用内置函数 max 结合 key 参数,高效获取具有最大值的键。此外,还列举了列表推导式、索引映射及字典反转等具体代码实现方式,帮助开发者灵活应对不同需求。

引言:字典值反查键的挑战

在 Python 字典操作中,通过键获取值是非常直接且常见的操作。然而,反过来通过已知的值去查找对应的键,则相对复杂一些,需要采用特定的处理逻辑。

通用方法:自定义函数实现

一、通用方法:自定义函数实现

假设场景如下:

  • 输入参数为一个字典(dic)以及需要查找的目标值(value)。
  • 输出结果为字典中所有值等于 target_value 的键。由于字典的键具有唯一性,这里建议以集合(set)的形式返回结果,以便处理可能存在多个键对应相同值的情况。

def getKey(dic,value):
  if value not in dic:
    return None
  result=set()
  for key in dic:
    result.add(key)
  return result

限制场景:使用内置函数

二、限制场景:使用内置函数

假设目标是获取具有最大“值”所对应的“键”。如果字典中所有的值都是唯一的,可以直接使用 max(dict, key=dic.get) 这一简洁写法。

  • 执行逻辑为:首先遍历字典的键迭代器,将每个键作为参数传递给 key 指定的函数(即 dic.get),获取对应的值。随后,以这些值为标准进行大小比较,最终返回使函数值最大的那个键。
  • 简而言之:遍历字典的所有键,通过 dic.get(key) 获取对应的值,找出这些值中的最大值,并返回该最大值所对应的键。

max(dic,key=dic.get)

Python 字典根据值来取键

Python 字典根据值来取键

以下是三种常见的实现方法:


s = {'a':100,'b':200,'c':300}

1.print([k for k,v in s.items() if v==200])

2.b=list(s.keys())[list(s.values()).index(200)]
#将字典的值变列表,找目标下标,将键变成列表,根据刚才的下标求得值

3.new_dict={v:k for k,v in s.items()}
print(new_dict)
print(new_dict[200])
#创建新字典,在字典中查询值,但是有时候值会重复,转为字典后只有一个

到此这篇关于 python 获取字典特定值对应的键的实现的文章就介绍到这了,更多相关python 字典特定值对应的键内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。