如何在Python中选择指定key值最小的字典(无需if语句,支持多字典)
无需条件语句获取obj_value最小的字典
直接使用Python内置的min()函数即可实现,无需编写任何条件语句(if),且天然支持扩展到任意数量的字典。
核心实现逻辑
min()函数允许通过key参数指定比较依据,我们可以用lambda表达式提取每个字典中的obj_value值作为比较键,函数会自动返回对应obj_value最小的字典。
代码示例
- 定义多个字典:
dict_1 = {"obj_value": 1, "other_key": 10} dict_2 = {"obj_value": 0, "other_key": 10} dict_3 = {"obj_value": 2, "other_key": 5}
- 获取
obj_value最小的字典:
min_dict = min(dict_1, dict_2, dict_3, key=lambda d: d["obj_value"]) print(min_dict) # 输出: {'obj_value': 0, 'other_key': 10}
扩展处理(可选)
如果存在部分字典没有obj_value键的情况,可以用dict.get()方法设置默认值(比如无穷大),避免抛出KeyError:
min_dict = min(dict_1, dict_2, dict_3, key=lambda d: d.get("obj_value", float('inf')))
内容的提问来源于stack exchange,提问作者Arturo del Cerro
相关产品推荐
相关产品推荐

