在python中排序元组列表

我有一个列表,my_list:

[['28/02/2014, apples']
['09/07/2014, oranges']
['22/04/2014, bananas']
['14/03/2014, tomatoes']]

我想按日期订购.这是我正在使用的代码:

def display(my_list):
    for item in my_list:
        x = ([item[0] + ": " + item[1]])
        print x

我尝试过对x(sorted,x.sort()等)应用不同形式的排序,但似乎没有任何效果.如何从最早到最晚按日期排序列表?

最佳答案 您可以使用sorted()来应用一个键函数,该函数从每个子列表中获取第一个项目,将其拆分:并使用strptime()将冒号前的部分转换为datetime:

>>> from datetime import datetime
>>> l = [['28/02/2014: apples'], ['09/07/2014: oranges'], ['22/04/2014: bananas'], ['14/03/2014: tomatoes']]
>>> sorted(l, key=lambda x: datetime.strptime(x[0].split(':')[0], '%d/%m/%Y'))
[['28/02/2014: apples'],  
 ['14/03/2014: tomatoes'], 
 ['22/04/2014: bananas'], 
 ['09/07/2014: oranges']]
点赞