Python сортирует список диктов - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть список диктов, и у этих диктов также есть объекты диктов.Это список:

my list

Это простой пример моего списка:

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'.Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 20 сентября 2019

вы можете использовать:

inner_key = 'base_sharpe_ratio'
results.sort(key=lambda x: x['profit_result'][inner_key])
0 голосов
/ 20 сентября 2019

попробуй

results.sort(key = lambda dic: dic.get('profit_result').get('base_sharpe_ratio', -float('inf')))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...