我知道解决这个解决方案有 1001 种方法,我要求社区了解最 Pythonic 的方法似乎是什么。
假设我有一个采用以下格式的字典列表:
colours = [{"color": "green", "owner": "Mark"},
{"color": "blue", "owner": "Luke"},
{"color": "red", "owner": "John"}]
忽略列表应该是字典字典的明显事实,我想从列表中检索单个字典给定用户输入color
字典中的键,但如果颜色不匹配则使用默认值(让在这个例子中说“绿色”)。
因此,我正在寻找一个功能:
def get_with_default(colour, colours, default):
给定颜色列表将返回:
>>> get_with_default("blue", colours, "green") # Valid dictionary
{"color": "blue", "owner": "Luke"}
>>> get_with_default("black", colours, "green") # Colour doesn't exist
{"color": "green", "owner": "Mark"}
更新(感谢 Martijn),默认值将被硬编码并且已知在列表中,但是该字典中的其他键/值对是未知/动态的(所以我知道“绿色”是字典中的键,但我不知道在这个简化的案例中谁“拥有”绿色