如何从python中的列表中有效地删除相同长度的元素

Din*_*ing 5 python

例如,我有一个列表:

[[1,3],[23,4],[13,45,6],[8,3],[44,33,12]]

有没有什么有效的方法可以让我最终获得下面的列表?

[[1,3],[13,45,6]]

对于列表的每个长度,只保留一个元素.

Ben*_*Ben 8

只需将字典键入长度并获取其值:

>>> l = [[1,3],[23,4],[13,45,6],[8,3],[44,33,12]]
>>> dict((len(i), i) for i in l).values()
[[8, 3], [44, 33, 12]]
Run Code Online (Sandbox Code Playgroud)