2017-09-01 77 views
0

我有一個列表:排序基於布爾和日期時間列表值

[{'added_on': datetime.datetime(2017, 8, 30, 13, 1, 40, 84539, tzinfo=<UTC>), 
    'priority': False, 
    'userEmail': u'[email protected]', 
    'Id': 16123},...] 

我需要得到它整理出來,以便優先爲真正的類型的字典應該頂部按時間倒序排列,其餘名單在反向年代學中也是如此。

嘗試:

List = sorted(List, key=lambda item: item['priority']) 
List = sorted(List, key=lambda item: item['added_on']) 

大幹快上年代排序。

這是如何實現的。

感謝

回答

1

如果你要排序的多個謂詞,你需要對元組sorted工作。

lst = sorted(List, key=lambda item: (item['priority'], -item['added_on'].timestamp())) 

第二個參數item['added_on'].timestamp()datetime對象轉換爲它的等效在曆元,然後反轉的符號,使它在對謂詞反向排序。