1

我正在使用发电机组来查看组之间的交叉点。生成器返回集合的不同组合的列表。我尝试了以下方法:

overlapped = [set.intersection(g) for g in powerset(listOfSets)]

但是 g 是一个列表,而 set.intersection 不包含列表;它只需要多个元素都是集合。

是否有内置函数,或者将 n 元素列表分解为 n 个单独的返回元素的方法?

4

1 回答 1

4

您可以使用参数解包*运算符)来完成此操作。

>>> foo = [set([1,2]), set([2,3]), set([2,4])]
>>> set.intersection(*foo)
set([2])
于 2013-10-08T18:05:29.160 回答