2016-11-29 45 views
1

我有第二個元素進行排序,像這樣的元組的列表:元組和λ的Python3排序名單和排序

[('7', 10), ('2', 9), ('8', 9)] 

我想通過自己的第一個元素,像這樣對它們進行排序:

[('2',9),('7', 10),('8', 9)] 

我曾嘗試:

test_val = [('7', 10), ('2', 9), ('8', 9)] 
test_val.sort(key=lambda x: x[0]) 

這是我從here

0123發現

但是,該列表未排序。

實際數據例如:

嘗試之前:

[('7', 10), ('2', 9), ('8', 9), ('6', 8), ('24', 8), ('3', 7), ('5', 7), ('9', 6), ('35', 6), ('15', 5), ('16', 5), ('1', 4), ('14', 4), ('17', 3), ('19', 3), ('12', 2), ('39', 2), ('26', 1), ('25', 1), ('22', 0)] 

嘗試後:

[('1', 4), ('12', 2), ('14', 4), ('15', 5), ('16', 5), ('17', 3), ('19', 3), ('2', 9), ('22', 0), ('24', 8), ('25', 1), ('26', 1), ('3', 7), ('35', 6), ('39', 2), ('5', 7), ('6', 8), ('7', 10), ('8', 9), ('9', 6)] 

回答

5

名單,太排序。請注意,您的排序鍵是字符串,不是整數。也許你想

test_val.sort(key=lambda x: int(x[0])) 
+0

謝謝你的回答,我在與它一個時間赫克!我會盡我所能接受 – Turtle

+0

很高興你的問題已修復。到過那裏。 – Prune