You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何打印列表中按指定字典键排序后的目标字段值

解决方法

你可以直接在排序后的结果取首个元素(升序排序首个就是water值最小的字典),再读取对应rent字段即可,代码修改如下:

#dictionaries
dict0 = {'rent' : 5, 'water' : 2, 'lawncare' : 1}
dict1 = {'rent' : 8, 'water' : 3, 'lawncare' : 4}
dict2 = {'rent' : 6, 'water' : 4, 'lawncare' : 3}

#dictionaries in a list
list0 = [dict0, dict1, dict2]

# 方法1:基于现有sorted逻辑修改
sorted_list = sorted(list0, key = lambda item: item['water'])
# 取排序后第一个字典的rent字段
print(sorted_list[0]['rent'])

输出结果为:5

如果列表长度较大,不需要全量排序的话,可以用min函数直接找water值最小的字典,性能更好:

lowest_water_dict = min(list0, key = lambda item: item['water'])
print(lowest_water_dict['rent'])

输出结果和上方一致。

补充说明:如果存在多个字典的water值同为最小值的情况,以上两种方法都会返回列表中第一个出现的符合条件的字典,可根据实际需求调整排序或取值逻辑。

内容的提问来源于stack exchange,提问作者Proiectura

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 03:18:00