use*_*900 0 python sorting date operator-keyword
我有一个格式的列表
['Jan 01', 'Feb 02', 'Mar 05', 'Feb 04', 'Jan 05', ...]
Run Code Online (Sandbox Code Playgroud)
我想对它进行排序
['Jan 01', 'Jan 05', 'Feb 02', 'Feb 04', 'Mar 05'...]
Run Code Online (Sandbox Code Playgroud)
我知道的事情operator.itemgetter('date'),但不认为这将适用于这种格式
您可以将日期解析为datetime对象:
from datetime import datetime
sorted(lst, key=lambda d: datetime.strptime(d, '%b %d'))
Run Code Online (Sandbox Code Playgroud)
datetime然后使用解析的对象来确定排序.
演示:
>>> from datetime import datetime
>>> lst = ['Jan 01', 'Feb 02', 'Mar 05', 'Feb 04', 'Jan 05']
>>> sorted(lst, key=lambda d: datetime.strptime(d, '%b %d'))
['Jan 01', 'Jan 05', 'Feb 02', 'Feb 04', 'Mar 05']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
201 次 |
| 最近记录: |