[英]Python sort list of dicts
我有聽寫列表,這些聽寫也有聽寫對象。 這是列表:
這是我列表中的一個簡單示例:
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”。 我怎樣才能做到這一點?
嘗試
results.sort(key = lambda dic: dic.get('profit_result').get('base_sharpe_ratio', -float('inf')))
您可以使用:
inner_key = 'base_sharpe_ratio'
results.sort(key=lambda x: x['profit_result'][inner_key])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.