stats = {{'node100': {'load_1min': '0.58'}, 'node200': {'load_1min': '0.64'}, 'node28': {'load_1min': '0.69'}}
Run Code Online (Sandbox Code Playgroud)
我想找到
1.具有最大Load_1min值的
键,2.具有最小Load_1min值的键,
3.用于统计数据的所有load_min键的avg值.
最后一个很简单 - 但前两个很难.我试过最大功能但失败了.
使用key参数min和max:
>>> min(stats, key=lambda k:float(stats[k]['load_1min']))
'node100'
>>> max(stats, key=lambda k:float(stats[k]['load_1min']))
'node28'
Run Code Online (Sandbox Code Playgroud)
除了迭代键之外,它还会查找字典中的每个键.为了避免额外的查找:
>>> min(stats.items(), key=lambda (k,v):float(v['load_1min']))
('node100', {'load_1min': '0.58'})
>>> max(stats.items(), key=lambda (k,v):float(v['load_1min']))
('node28', {'load_1min': '0.69'})
Run Code Online (Sandbox Code Playgroud)