参见英文答案 >

Python: How to check if keys exists and retrieve value from Dictionary in descending priority                                    3个

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

如果不存在这样的方法,是否有一个在这种情况下常用的简单表达式?