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

 更新时间:2022年04月26日 11:32:11   作者:Nurbiya_K  
对于字典通过键获得值非常简单,但通过值获得键则需绕些弯子,下面这篇文章主要给大家介绍了关于如何使用Python获取字典键对应值的相关资料,需要的朋友可以参考下

有两种方法

当知道字典的键时:

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_rooms[i]
 	print(rooms)

运行结果:

当不知道字典的键时:

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 rooms in unit_rooms.values():
 	print(rooms)

运行结果:

获取字典的值:

for value in DictName.values():
# value的名字可以自行另取
# DictName是要遍历的字典的名称
# .values():是固定的用法

获取键值:

for k,v in DictName.items():
#遍历字典的键值对,k对应键,v对应值
#k,v 的名字可以自己取,DictName是字典名
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 sub_dict in unit_rooms.values():
# 遍历大字典的值,即小字典sub_dict
    for room,info in sub_dict.items():
        print('房间号:%d,方向:%d,面积:%d'%(room,info[0],info[1]))

运行结果:

方向1代表南北,方向2代表东西

把数字替换掉:

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 sub_dict in unit_rooms.values():
    for room,info in sub_dict.items():
        dire = ['', '南北', '东西']
        #建立一个列表,第0个元素为空,第1个元素为'南北',第2个元素为'东西'
        print(dire[info[0]])

举例:

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 sub_dict in unit_rooms.values():
    for room,info in sub_dict.items():
        dire = ['', '南北', '东西']
        print('户室号:%d 朝向:%s 面积:%d' % (room,dire[info[0]],info[1]))            

运行结果:

附:字典dic最大值对应的键

步骤:(1)用max()函数找出最大的值maxValue;(2)套用一的自定义函数

def getKey(dic, value):
    if value not in dic.values():
        return None
    result = set()
    for key in dic:
        if dic[key]==value:
            result.add(key)
    return result
 
dic = {'a':2, 'b':1, 'c':10, 'd':10}
 
maxValue=max(dic.values())
result = getKey(dic,maxValue)
 
>> {'c','d'}

总结

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

相关文章

  • python xlwt模块的使用解析

    python xlwt模块的使用解析

    这篇文章主要介绍了python xlwt模块的使用解析,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-04-04
  • 深入学习Python中的装饰器使用

    深入学习Python中的装饰器使用

    @这个操作符让装饰器在Python代码中非常醒目,而装饰器的运用中也包含着很多Python编程中的高级技巧,这里我们就来共同深入学习Python中的装饰器使用
    2016-06-06
  • Python Web框架之Django框架Form组件用法详解

    Python Web框架之Django框架Form组件用法详解

    这篇文章主要介绍了Python Web框架之Django框架Form组件用法,结合实例形式详细分析了Django框架中各种常用Form组件的功能、使用方法及相关操作注意事项,需要的朋友可以参考下
    2019-08-08
  • pyinstaller通过spec文件打包py程序的步骤

    pyinstaller通过spec文件打包py程序的步骤

    这篇文章主要介绍了pyinstaller通过spec文件打包py程序,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • python实现简单的计时器功能函数

    python实现简单的计时器功能函数

    这篇文章主要介绍了python实现简单的计时器功能函数,涉及Python操作时间的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • Python Pandas中布尔索引的用法详解

    Python Pandas中布尔索引的用法详解

    布尔索引是一种使用 DataFrame 中数据的实际值的索引。本文将通过一些示例为大家详细讲讲Python中布尔索引的用法,需要的可以参考一下
    2022-08-08
  • 一文教会你利用Python程序读取Excel创建折线图

    一文教会你利用Python程序读取Excel创建折线图

    不同类型的图表有不同的功能,柱形图主要用于对比数据,折线图主要用于展示数据变化的趋势,散点图主要用于判断数据的相关性,下面这篇文章主要给大家介绍了关于如何通过一文教你利用Python程序读取Excel创建折线图的相关资料,需要的朋友可以参考下
    2022-11-11
  • 在django中使用自定义标签实现分页功能

    在django中使用自定义标签实现分页功能

    这篇文章主要介绍了在django中使用自定义标签实现分页功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • Redis之windows下主从复制案例讲解

    Redis之windows下主从复制案例讲解

    这篇文章主要介绍了Redis之windows下主从复制案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • 在Python中通过threading模块定义和调用线程的方法

    在Python中通过threading模块定义和调用线程的方法

    由于著名的GIL的存在,Python中虽然能创建多条线程,但却不能同时执行...anyway,这里我们还是来学习一下在Python中通过threading模块定义和调用线程的方法
    2016-07-07

最新评论