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 字典特定值对应的键内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 在Python中用get()方法获取字典键值的教程

    get()方法返回给定键的值.如果键不可用,则返回默认值None. 语法 以下是get()方法的语法: dict.get(key, default=None) 参数 key -- 这是要搜索在字典中的键. default -- 这是要返回键不存在的的情况下默认值. 返回值 该方法返回一个给定键的值.如果键不可用,则返回默认值为None. 例子 下面的例子显示了get()方法的使用. #!/usr/bin/python dict = {'Name': 'Zara', 'Age': 27} prin

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

    对于字典,通过"键"获得"值"非常简单,但通过"值"获得"键"则需绕些弯子. 一.通用:自行定义函数方式 假设: 输入:一个字典(dic)+要找的"值"value 输出:字典中所有值为value的key,这里以set形式输出,因为对于字典而言,key值均是唯一的. def getKey(dic,value): if value not in dic: return None result=set() for

  • python 获取字典键值对的实现

    获 得 字 典 键. 值 的 函 数 有: items/ iteritems/ keys/ iterkeys/ values/ itervalues 通 过 以 上 这 些 函 数 得 到 的 是 键 或 者 值 的 列 表. 例: a_dict = {" name": "sir", "lang": "python", "email": "sir@ gmail.com", "w

  • 使用Python获取字典键对应值的两种方法

    目录 当知道字典的键时: 当不知道字典的键时: 附:字典dic最大值对应的键 总结 有两种方法 当知道字典的键时: unit_rooms={ 3:{301:[1,80],302:[1,80],303:[2,90],304:[2,90]}, 4:{401:[1,80],402:[1,80],403:[2,90],404:[2,90]}, 5:{501:[1,80],502:[1,80],503:[2,90],504:[2,90]} } for i in range(3,6): rooms=unit

  • python 获取计算机的网卡信息

    0. 前言 正常情况下,如果想要查看电脑的网卡IP地址或是MAC地址,直接通过界面找到网卡进行查看就有了,亦或是通过命令如linux的ifconfig得到IP等信息,那么本节教大家如何通过python的方式获取网卡的IP/MAC信息. 1. 测试环境及关键代码解释 1.1 测试环境 1.1.1 系统: Ubuntu 16.04.6 LTS Windows 10 x64 1.1.2 开发工具: pycharm 专业版 备注:专业版支持本地远程linux调试. 2. 模块介绍及演示 本次只需要用到3

  • linux系统使用python获取cpu信息脚本分享

    linux系统使用python获取cpu信息脚本分享 复制代码 代码如下: #!/usr/bin/env Pythonfrom __future__ import print_functionfrom collections import OrderedDictimport pprint def CPUinfo():    ''' Return the information in /proc/CPUinfo    as a dictionary in the following format:

  • 使用python获取csv文本的某行或某列数据的实例

    站长用Python写了一个可以提取csv任一列的代码,欢迎使用.Github链接 csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格: 就可以存储为csv文件,文件内容是: No.,Name,Age,Score 1,Apple,12,98 2,Ben,13,97 3,Celia,14,96 4,Dave,15,95 假设上述csv文件保存为"A.csv",如何用Python像操作Excel一样提取其中的一列,即一个字段,利用Pyt

  • python 获取sqlite3数据库的表名和表字段名的实例

    Python中对sqlite3数据库进行操作时,经常需要用到字段名,然而对于sqlite使用select语句并不能象MySql等数据库一样返回带字段名的字典数据集.特别是对于一个不熟悉的sqlite数据库,写代码时如果需要借助工具查看,那其实是有点对不起python的. 下面两段代码就可以轻易获得一个sqlite数据库中所有数据表名和字段名的列表: # python 获取sqlite3数据库mydb.db中的表名和表字段名 import sqlite3 conn=sqlite3.connect(

  • Django Python 获取请求头信息Content-Range的方法

    request请求头信息的键会加上HTTP_转换成大写存到request.META中 因此你只需要 content_range = request.META['HTTP_CONTENT_RANGE'] 这样就可以获取到Content-Range的信息. django官网的解释: A standard Python dictionary containing all available HTTP headers. Available headers depend on the client and

  • Python获取对象属性的几种方式小结

    本文将简单介绍四种获取对象的方法. 假如有以下的类: class Person(object): def __init__(self, name, age): self.name = name self.age = age def __str__(self): return 'name=%s, age=%s' % (self.name, self.age) 方法一:使用属性运算符 print(xmr.name) 方法二:通过属性字典__dict__ print(xmr.__dict__['nam

  • python 获取剪切板内容的两种方法

    第一种 # -*- coding: utf-8 -*- # @Time : 2020/3/16 21:26 # @File : get_text_from_cupboard_13.py # @Author: Hero Liu # python读取剪切板内容 import win32clipboard as w import win32con def get_text(): w.OpenClipboard() d = w.GetClipboardData(win32con.CF_TEXT) w.C

随机推荐