[英]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.