簡體   English   中英

Python 排序列表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM