10
我在排序元組列表時遇到困難。我想按照列表中字符串的長度進行排序。Python按元組中的值排序列表的長度
例如:
l = [(99,'bbc', 121),(33,'abcd', 231),(44,'zb', 148), (23,'abcde',221)]
如果我排序元件1:
l.sort(key=itemgetter(1), reverse=True)
這將排序的串的字母排序,而不是長度。我寧願排序就地和反向排序,最長的字符串第一。
我可以使用lambda和CMP,
l.sort(lambda x,y: cmp(len(x[1]), len(y[1])), reverse=True)
但有一個更優雅,或Python的方式使用密鑰和/或itemgetter?
是的,這是更好。並且採用'list'所指向的點,將編輯來反映。 – drexiya