我在理解嵌套字典的结构时如何获取其最大值时遇到了麻烦:
dict = {'City': {1: {'avg_dur': 10.58568297387339,
'n_trips': 1901,
'tot_dur': 20123.383333333313},
2: {'avg_dur': 12.25947507658035,
'n_trips': 2394,
'tot_dur': 29349.183333333356},
3: {'avg_dur': 12.95495652953303,
'n_trips': 3719,
'tot_dur': 48179.48333333334}}}
我正在尝试提取最大“ avg_trips”功能的密钥。在上面的代码段中,我希望答案返回3。我想我需要在这里使用lambda,但是我不确定嵌套字典在这一级别上如何工作。
答案 0 :(得分:2)
将max
与key
一起使用
例如:
dict = {'City': {1: {'avg_dur': 10.58568297387339,
'n_trips': 1901,
'tot_dur': 20123.383333333313},
2: {'avg_dur': 12.25947507658035,
'n_trips': 2394,
'tot_dur': 29349.183333333356},
3: {'avg_dur': 12.95495652953303,
'n_trips': 3719,
'tot_dur': 48179.48333333334}}}
print(max(dict["City"].items(), key=lambda x: x[1]['n_trips'])[0])
输出:
3
答案 1 :(得分:0)
您还可以按n_trips
对键进行排序,并取最后一个键:
>>> sorted(mydict['City'].keys(), key=lambda x: mydict['City'][x]['n_trips'])[-1]
3