Ada*_*tan 10
允许自定义排序键的key参数sort.使用len将做的伎俩:
l=<list_of_sets>
l.sort(key=len)
Run Code Online (Sandbox Code Playgroud)
如果您想要最长的集合,请使用以下reverse参数:
l.sort(key=len, reverse=True)
Run Code Online (Sandbox Code Playgroud)
例如:
>>> l=[set((1,2,5,6,7)), set((1,2,3,4,5,6,7)), set((1,)), set((1,2,3))]
>>> l
[set([1, 2, 5, 6, 7]), set([1, 2, 3, 4, 5, 6, 7]), set([1]), set([1, 2, 3])]
>>> l.sort(key=len)
>>> l
[set([1]), set([1, 2, 3]), set([1, 2, 5, 6, 7]), set([1, 2, 3, 4, 5, 6, 7])]
>>> l.sort(key=len, reverse=True)
>>> l
[set([1, 2, 3, 4, 5, 6, 7]), set([1, 2, 5, 6, 7]), set([1, 2, 3]), set([1])]
Run Code Online (Sandbox Code Playgroud)
更新:今天学到的东西 - lambda不是必需的,因为len没有额外的参数使用.因此,l.sort(lambda x:len(x))相当于l.sort(key=len).谢谢,Eugene Homyakov!
如果L是集合列表
sorted(L, key=len, reverse=True)
Run Code Online (Sandbox Code Playgroud)
或排序到位
L.sort(key=len, reverse=True)
Run Code Online (Sandbox Code Playgroud)