b="""KLM75, Amsterdam, 14:35, 60, 50
AF111, Paris, 14:20, 50, 64
LH333, Frankfurt, 14:10, 112, 203
KLM71, Madrid, 14:55, 120, 100
TAP103, Salvador, 15:20, 174, 210
LH123, Berlin, 15:10, 115, 210"""
print(sorted(b.split('\n'),key=lambda x:x.split(',')[2]))
['LH333, Frankfurt, 14:10, 112, 203', 'AF111, Paris, 14:20, 50, 64', 'KLM75, Amsterdam, 14:35, 60, 50', 'KLM71, Madrid, 14:55, 120, 100', 'LH123, Berlin, 15:10, 115, 210', 'TAP103, Salvador, 15:20, 174, 210']
INT與換行符上面的代碼分裂,讓所有的線條,然後使用排序,以便他們的時間排序。拉姆達將採用分體式提供關鍵即時間(「」)[2]
上面的代碼所做的只是排序沒有產生元組:ifyou需要的元組:
print(sorted([tuple(x.split(',')) for x in b.split('\n')],key=lambda x:x[2]))
[('LH333', ' Frankfurt', ' 14:10', ' 112', ' 203'), ('AF111', ' Paris', ' 14:20', ' 50', ' 64'), ('KLM75', ' Amsterdam', ' 14:35', ' 60', ' 50'), ('KLM71', ' Madrid', ' 14:55', ' 120', ' 100'), ('LH123', ' Berlin', ' 15:10', ' 115', ' 210'), ('TAP103', ' Salvador', ' 15:20', ' 174', ' 210')]
我已經試過各種開頭方法將項目拆分爲列表,彈出元素,但我總是到達一個點,我不能繼續... – 2014-12-03 18:17:00
你可能提供一個示例輸入和預期輸出?我很難理解「一個按時間順序排列的航班代碼」的含義。 – 5gon12eder 2014-12-03 18:18:56
「各種方法」並不比「多種方式」更具體。 – AndySavage 2014-12-03 18:18:57