【发布时间】:2017-12-19 15:11:32
【问题描述】:
我正在尝试解决这个问题。 我有一个带有代码的字典:订单。
codes = {'JA':0,'FE':1,'MA':2,'AP':3,'MY':4,'JU':5,'JL':6,'AG':7,'SE':8,'OC':9,'NO':10,'DI':11}
还有一个样本 od 数据:
sample = [['NO15',27],['JU17',45],['FE18',-4],['AP14',7],['JA18',97]]
我想根据两个标准对样本进行排序。第一,年份,就是月份代码的两位数字,第二,字典中月份的顺序 结果必须是:
sorted_sample = [['AP14',7],['NO15,27],['JU17',45],['JA18',97],['FE18',-4]]
我正在尝试这个
sorted(raw, key=lambda x: (x[2:4],codes.get(x[0][:2])))
sorted(sorted(raw, key = lambda x : x[2:4], reverse = True), key = lambda x : codes.get(x[0][:2]), reverse = False)
但我没有得到正确的结果。
【问题讨论】:
标签: python list sorting dictionary key