我在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)
哪个不行。
答案 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)]