我正在使用的代码有一个列表,其中包含(moviename、year released、genre、watched或unwatched)。我试图按发布的年份对列表进行排序,但排序不正确
movielist.sort(key=lambda x: x[1])
这是我试图运行的代码,用于按年份对列表进行排序,但排序不正确
输出为:
['Citizen Kane', '1941', 'Drama', 'u']
['Star Wars: Episode IV - A New Hope', '1977', 'Action', 'w']
['The Fugitive', '1993', 'Drama', 'u']
['Fun with Dick and Jane', '2005', 'Comedy', 'w']
['Persian-Roman War', '557', 'Action', 'u']
什么时候应该是:
['Persian-Roman War', '557', 'Action', 'u']
['Citizen Kane', '1941', 'Drama', 'u']
['Star Wars: Episode IV - A New Hope', '1977', 'Action', 'w']
['The Fugitive', '1993', 'Drama', 'u']
['Fun with Dick and Jane', '2005', 'Comedy', 'w']
这里的问题是,你在一个文本年上排序,并且按字典顺序,年
1941
是“在”557
之前”。您可以尝试用0填充年份,使其固定宽度为4:采用这种方法,对文本进行排序,并给出以下顺序:
当你在做
它基于字符串值进行排序,但在您的情况下不起作用
改用这个
希望这有帮助
相关问题 更多 >
编程相关推荐