【发布时间】:2018-09-25 22:54:33
【问题描述】:
我有一个字典列表:
AccountValues = [
{'portfolio_ref': 1, 'tag': 'FullInit', 'value': '20642.95', 'currency': 'USD', 'percent': 0.0},
{'portfolio_ref': 1, 'tag': 'FullMaint', 'value': '21350.54', 'currency': 'USD', 'percent': 0.0},
{'portfolio_ref': 1, 'tag': 'NetLiq', 'value': '70976.05', 'currency': 'USD', 'percent': 100.0} ]
每个 SQL 描述的简单任务:按portfolio_ref ASC 排序,百分比DESC
我尝试失败的方法:
sorted(AccountsValues, key=lambda x: (x[1],-x[4]))
这给了我
KeyError: 1
第二次尝试:
import operator
result = sorted(myAccountsValues, key=itemgetter('percent'))
无法按百分比排序。
【问题讨论】:
-
您尝试的方法不起作用怎么办?弄清楚你尝试了什么、你期望什么以及你得到了什么总是有帮助的。例如,您是否收到错误消息?还是只是错误的结果?您是否尝试过调试?
-
您的第二次尝试似乎不起作用的原因是您的数据已经按百分比排序...
标签: python list sorting dictionary