gpt4 book ai didi

python - 对集合列表进行排序

转载 作者:太空狗 更新时间:2023-10-30 01:43:55 24 4
gpt4 key购买 nike

我有一个集合列表,我想在这些集合上执行交集。

是否有一种有效的方法可以按长度对这些集合进行排序,以优化计算?

最佳答案

sortkey 参数允许自定义排序键。使用 len 就可以了:

l=<list_of_sets>
l.sort(key=len)

如果你想要最长的一组,使用reverse参数:

l.sort(key=len, reverse=True)

例如:

>>> 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])]

更新:今天学到了一些东西 - lambda 不是必需的,因为 len 的使用没有额外的参数。因此,l.sort(lambda x:len(x)) 等价于 l.sort(key=len)。谢谢,Eugene Homyakov !

关于python - 对集合列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7242821/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com