基于python中元组的第一个元素的长度对元组列表进行排序

时间:2015-10-29 11:55:18

标签: python list sorting

我在python中有一个元组列表。我试图根据元组的第一个元素的长度对列表进行排序。

mylist=[('abcde', 23), ('this is one string', 234), ('sa', 2346)] 

要排序到

[('sa', 2346), ('abcde', 23), ('this is one string', 234)]

基于元组的第一个元素的长度。 我试过了

mylist=sorted(mylist,key=len)

哪个不行。

2 个答案:

答案 0 :(得分:4)

使用lambda函数作为与len字符串方法配对的排序键:

mylist.sort(key=lambda x: len(x[0]))

答案 1 :(得分:3)

您已关闭,您只需将元素[0]编入索引,然后获取该len

>>> sorted(mylist, key = lambda i: len(i[0]))
[('sa', 2346), ('abcde', 23), ('this is one string', 234)]