2017-06-24 52 views
-1

我想在Python中對列表進行排序。我試圖做的是:Python列表排序給出了錯誤的結果

activities = [[3,1,0,5,8,5],[4,2,6,7,9,9]] 
activities.sort(key=lambda x: x[1]) 
print(activities) 

但它不起作用。

我期待的名單進行排序是這樣的:

[1,3,0,5,8,5] 
[2,4,6,7,9,9] 
+0

你期待,而對它們進行排序,以修改列表? – molbdnilo

+1

我該怎麼做?我是Python新手 –

+0

對列表排序然後修改它們,或修改列表然後對它們排序。不要試圖同時做兩個。 – molbdnilo

回答

0

所以,你要交換的每個子列表的前兩個元素,和排序後來呢?

activities = [[3,1,0,5,8,5],[4,2,6,7,9,9]] 
activities = [a[1::-1] + a[2:] for a in activities] 
activities.sort(key=lambda x: x[0]) 
print(activities) 
+0

感謝您的支持!這解決了我的問題 –

-1

您需要將2子表像這樣單獨排序:

activities = [[3,1,0,5,8,5],[4,2,6,7,9,9]] 
activities = activities[0].sort() 
activities = activities[1].sort() 
print(activities) 
+0

代碼將返回'無' – magicleon

+0

啊,是的,對不起,我已經糾正了我的答案 – SomeRandomPhysicist