簡體   English   中英

在python中排序元組列表

[英]Ordering a list of tuples in 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()來應用一個key函數,該函數從每個子列表中獲取第一個項目,將其拆分:並使用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']]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM