Tur*_*tle 1 python sorting lambda list
我有一个按第二个元素排序的元组列表,如下所示:
[('7', 10), ('2', 9), ('8', 9)]
Run Code Online (Sandbox Code Playgroud)
我想按照他们的第一个元素对它们进行排序:
[('2',9),('7', 10),('8', 9)]
Run Code Online (Sandbox Code Playgroud)
我试过了:
test_val = [('7', 10), ('2', 9), ('8', 9)]
test_val.sort(key=lambda x: x[0])
Run Code Online (Sandbox Code Playgroud)
但是,列表未排序.
真实数据示例:
在尝试之前:
[('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)]
Run Code Online (Sandbox Code Playgroud)
尝试后:
[('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)]
Run Code Online (Sandbox Code Playgroud)
该列表也是如此排序.请注意,排序键是字符串,而不是整数.也许你想要的是
test_val.sort(key=lambda x: int(x[0]))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
776 次 |
| 最近记录: |