我有3个2d的数组,在它们里面是一个字符串,这个日期我想按照它们的日期对它们进行排序。 这些数组的结构都是这样的:
array1 = [[1,'29-04-2013','U11'],[2,'20-05-2013','U11']]
array2 = [[1,'06-05-2013','U13'],[2,'03-06-2013','U13']]
array3 = [[1,'06-03-2013','U15'],[2,'03-07-2013','U15']]
我想将它们变成这样的数组:
all = [[1,'06-03-2013','U15'],[1,'29-04-2013','U11'],[1,'06-05-2013','U13'],[2,'20-05-2013','U11'],[2,'03-06-2013','U13'],[2,'03-07-2013','U15']]
我只是需要某种方法来解决这个问题,因为我不知道如何做到这一点。谢谢你提前帮助
答案 0 :(得分:4)
big_array = array1 + array2 + array3
import dateutil.parser as p
print sorted(big_array,key=lambda x: p.parse(x[1]))
如果因为某些原因你反对dateutil.parser
import datetime
print sorted(big_array,key=lambda x:datetime.datetime.strptime(x[1],"%d-%m-%Y")
我在常规时间模块上推荐日期时间的原因是,日期时间可以看到将来我们测试的那样...而时间模块只能达到2035年
但是你也可以用时间模块
来做import time
print sorted(big_array,key=lambda x:time.strptime(x[1],"%d-%m-%Y")