2015-10-29 147 views
1

我有一个Python元组列表。我试图根据元组的第一个元素的长度对列表进行排序。根据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

不,因为它们都是'len(thing)== 2'。你真的在这些元组中有*字符串*,或者? – jonrsharpe

回答

3

使用lambda功能与len方法字符串键排序中的情侣:

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

你接近,你只需要指数走出元素[0]然后利用这一

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