2
我有一个航班清单,它将在出发日期首先进行排序,然后按航班总航程排序,并根据日期保留其排序。通过多种方法对列表进行排序
- 调用出发日期是“Flight”对象的一种方法。
- 调用飞行时间也是“飞行”对象的一种方法。
输出应该是:
- 2017年4月7日flighttime:05:00
- 2017年4月7日flighttime:06:00
- 2017年5月7日flighttime:04 :00
- 2017年5月7日flighttime:05:00
我想:
sorted(flights, key=methodcaller('date','flighttime'))
但methodcaller只需要1个参数。我先尝试了groupby,然后在飞行时间进行排序,但是这个列表只能按飞行时间排序。
谢谢
谢谢!如果我想维护日期顺序,但是要颠倒飞行时间顺序?因此只能在第二个键上换向? – Ward
如果飞行时间是数值,你可以倒过来第二个键:'sorted(flights,key = lambda x:(x.date(), - x.flighttime()))' –
不是它是一个timedelta,但它工作通过放在前面!谢谢 – Ward