用Python创建所有对象的集合

问题描述 投票:0回答:1

我正在寻找set.intersection的基本案例

我有一种算法,它接受一组列表,列表的长度可以是0、1、2、3,依此类推。给定该列表,它将返回列表中所有集合的交集。然后,将返回的相交点进一步用于下层以与更多事物相交。代码要点及其用法如下所示:

def intersect(list_of_sets):
    return set.intersection(*list_of_sets)

ss1 = intersect(list_of_sets)
# a few moments later . . . 
# . . .
ss2 = set.intersection(some_other_set, ss1)

因此,当list_of_sets为空列表时,就会发生此问题。这很麻烦,因为它破坏了我的代码。最好的解决方案是重新编写代码,如下所示:

def intersect(list_of_sets):
    return set.intersection(*[list_of_sets, set.EVERYTHING])

ss1 = intersect(list_of_sets)
# a few moments later . . . 
# . . .
ss2 = set.intersection(some_other_set, ss1)

这样,将在空列表下设置相交的返回值。EVERYTHING,该值正确地与some_other_set相交以形成所需的ss2。

我知道在python中,浮点数和整数具有最大值,例如INF等,集合是否类似?加法的“基本情况”为“ 0”,集合联合的“基本情况”为空集合,我需要集合交集的基本情况,即“所有”集合。是否存在?

python set intersection
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.