假設我有以下列表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條經驗 獲得超8個贊
嘗試這個
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
提交
取消