【发布时间】:2018-05-11 12:01:53
【问题描述】:
TL;DR
是否有 Python 字典方法或简单表达式为字典中存在的第一个键(来自可能的键列表)返回一个值?
详情
假设我有一个包含许多键值对的 Python 字典。不能保证任何特定密钥的存在。
d = {'A':1, 'B':2, 'D':4}
如果我想获取给定键的值,并在该键不存在时返回一些其他默认值(例如None),我只需这样做:
my_value = d.get('C', None) # Returns None
但是,如果我想在默认为最终默认值之前检查多个可能的键怎么办?一种方法是:
my_value = d.get('C', d.get('E', d.get('B', None))) # Returns 2
但是随着备用键数量的增加,这变得相当复杂。
是否存在适用于这种情况的 Python 函数?我想像:
d.get_from_first_key_that_exists(('C', 'E', 'B'), None) # Should return 2
如果不存在这样的方法,有没有这种场景常用的简单表达方式?
【问题讨论】:
-
写出你的预期输出
-
@sachindubey 添加了我的预期输出。
标签: python dictionary lookup