次のようなリストがあります。
[{'modified': 'Thu, 08 Aug 2013 18:28:13 +0000', 'path': '/test4.txt'},
{'modified': 'Thu, 06 Aug 2013 18:28:17 +0000', 'path': '/test5.txt'},
...
]
等々。リストを「変更」順に、時系列 (または逆時系列) に並べ替えたいのですが、これを行う最善の方法は何ですか?
ソート関数は最初に日付を理解する必要があります。そうしないと、曜日の文字でソートされます。
dateutilパッケージは、このタスクに最適です。日付を自動的に識別し、 のような書式文字列は必要ありませんdatetime.strptime
。
from dateutil import parser
# sort ascending
print sorted(yourlist, key=lambda k: parser.parse(k['modified']))
# sort descending
print sorted(yourlist, key=lambda k: parser.parse(k['modified']), reverse=True)