import csv,operator
from datetime import datetime
li = [['name','01/03/2012','job'],
['name','02/05/2013','job'],
['name','03/08/2014','job']]
排序方法:
sorted(li,key=lambda x:datetime.strptime(row[1],'%d/%m/%Y'), reverse=True)
输出:
没有错误,但根本没有订购
Itemgetter方法:
for x in range(1,len(li)):
li[x][6]=datetime.strptime(li[x][6],'%d/%m/%Y')
li.sort(key=operator.itemgetter(6))
输出:
Traceback (most recent call last):
File "U:/rmarshall/Work For Staff/ROB/_Python/__Python Projects Code/April Signed Terms.py", line 35, in
li.sort(key=operator.itemgetter(6))
TypeError: unorderable types: datetime.datetime() < str()
有人可以提供按日期排序列表的示例.出于教育目的,我将欣赏排序方法和项目集方法的示例以及效率的比较.
此外,通过itemgetter方法的错误,itemgetter根本无法处理datetime对象.
注意:我认为在这个例子中升序或降序并不重要,因为它可以简单地用reverse = True翻转.