按年排序列表,然后按月排序

Rob*_*t C 3 python sorting list python-3.x

我有一个列表列表,看起来像这样:

dateList = [['2014', '4'], ['2015', '6'], ['2017', '6'], ['2016', '2'], ['2016', '3'], ['2017', '9'], ['2016', '6'], ['2017', '3'], ['2014', '8'], ['2014', '10'], ['2017', '10'], ['2014', '9'], ['2014', '3'], ['2015', '11'], ['2015', '2']]
Run Code Online (Sandbox Code Playgroud)

我一直试图按年份排序,然后按月计算.我已经成功地按年使用它进行分类

sortedList = sorted(dateList, key = lambda x: int(x[0]))
Run Code Online (Sandbox Code Playgroud)

但是,我无法想出一种方法可以在按月保持年份升序的同时按月分类.

Ant*_*vBR 5

通过一个元组:

sorted(dateList, key = lambda x: (int(x[0]),int(x[1])))
Run Code Online (Sandbox Code Playgroud)

但这看起来更好:

sorted(dateList, key = lambda x: tuple(map(int,x)))
Run Code Online (Sandbox Code Playgroud)

另一种选择可能是使用:

import datetime 
sorted(dateList, key = lambda x: datetime.datetime.strptime(''.join(x),'%Y%m'))
Run Code Online (Sandbox Code Playgroud)