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

对于字典,通过“键”获得“值”非常简单,但通过“值”获得“键”则需绕些弯子。

一、通用:自行定义函数方式

假设:

  • 输入:一个字典(dic)+要找的“值”value
  • 输出:字典中所有值为value的key,这里以set形式输出,因为对于字典而言,key值均是唯一的。
def getKey(dic,value):
  if value not in dic:
    return None
  result=set()
  for key in dic:
    result.add(key)
  return result

二、限制:使用内置函数

假设:​​​​​需获取最大“值”对应的“键”,若dic.values()全部“值”均不相同,则可以直接使用max(dict, key)

  • 执行过程:首先遍历迭代器dict,将返回值作为参数传递给key对应的函数,然后将函数的执行结果传给key,并以此时key值为标准进行大小判断,最终返回最大值。
  • 简单地说:遍历字典(dic),查找所有“值”的最大值(key=dic.get(everykey)),返回该“值”的“键”(dic)
max(dic,key=dic.get)

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 获取字典特定值对应的键的实现

扫一扫手机访问