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