gpt4 book ai didi

Python。基于两个键和一个字典对二维列表进行排序

转载 作者:行者123 更新时间:2023-12-01 02:21:45 24 4
gpt4 key购买 nike

我正在尝试解决这个练习。我有一个带有代码的字典:order。

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)

但我没有得到正确的结果。

最佳答案

您需要对列表进行索引才能获取年份。另外,将其转换为 int 以便将其作为数字进行比较:

>>> sorted(sample, key=lambda x: (int(x[0][2:4]), codes.get(x[0][:2])))
[['AP14', 7], ['NO15', 27], ['JU17', 45], ['JA18', 97], ['FE18', -4]]

关于Python。基于两个键和一个字典对二维列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47889916/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com