按子列表中第二个元素的长度对列表进行排序 python

假设我有以下列表

lst=[[['A'],[3,4,5,6]],[['B'],[3,4,5,6,5,7,8,9]],[['C'],[3,4]]]

我需要按第二个元素的长度对列表进行升序排序。因此,最终结果将是:

Result=[[['C'],[3,4]],[['A'],[3,4,5,6]],[['B'],[3,4,5,6,5,7,8,9]]]

我知道通过这个 .sort() 我可以按长度对元素进行排序,但只有当列表列表由 1 个元素组成时它才有效。

sorted(lst, key = len)

如何按第二个元素的长度对其进行排序?


呼唤远方
浏览 59回答 2
2回答

侃侃尔雅

lst.sort(key = lambda x : len(x[1]))

慕仙森

尝试这个sorted(lst, key = lambda x: len(x[1]))lst=[[['A'],[3,4,5,6]],[['B'],[3,4,5,6,5,7,8,9]],[['C'],[3,4]]]Result=[[['C'],[3,4]],[['A'],[3,4,5,6]],[['B'],[3,4,5,6,5,7,8,9]]]print(Result == sorted(lst, key = lambda x: len(x[1])))True对于列表中的每个项目[['C'],[3,4]],[['A'],[3,4,5,6]],[['B'],[3,4,5,6,5,7,8,9]]我们取 len(x[1])[['C'],[3,4]] #item[3,4] # x[1]最后,按此排序。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python