假设我有以下列表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)如何按第二个元素的长度对其进行排序?
2 回答
慕仙森
TA贡献1827条经验 获得超7个赞
尝试这个
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]
最后,按此排序。
添加回答
举报
0/150
提交
取消