我有字典列表,这些字典也有字典对象。这是列表:
这是我列表的一个简单示例:
result = [ {'parameters' : {'buy_period':10, 'sell_period':20}, 'profit_result': {'base_sharpe_ratio': 0.5, 'base_calmar_ratio': 2.2}},{'parameters' : {'buy_period':20, 'sell_period':30},'profit_result': {'base_sharpe_ratio': 1.5, 'base_calmar_ratio': 3.2} }, {'parameters' : {'buy_period':30, 'sell_period':40}, 'profit_result': {'base_sharpe_ratio': 2.5, 'base_calmar_ratio': 4.2} } ]
我可以通过以下方式对列表进行排序
results.sort(key=itemgetter('sort_metric'))
我想基于内部dict值对列表进行排序,例如,按“ base_sharpe_ratio”排序。我该怎么办?
答案 0 :(得分:0)
尝试
results.sort(key = lambda dic: dic.get('profit_result').get('base_sharpe_ratio', -float('inf')))
答案 1 :(得分:0)
您可以使用:
inner_key = 'base_sharpe_ratio'
results.sort(key=lambda x: x['profit_result'][inner_key])