合并集的不同方式

时间:2018-09-20 18:55:34

标签: python python-3.x set

Python documentation建议了两种联合集的方法:

set1 = {1, 2, 3}
set2 = {3, 4, 5}

set1 | set2       # {1, 2, 3, 4, 5}
set1.union(set2)  # {1, 2, 3, 4, 5}

我最近遇到了另一个:

set.union(set1, set2)  # {1, 2, 3, 4, 5}

它如何工作?

1 个答案:

答案 0 :(得分:0)

在您的示例中,set.union(set1, set2)实际上用union作为set1参数调用self方法。因此,它等效于set1.union(set2)

顺便说一句,Python允许根据this合并任意数量的集合。实际上,您可以在Python文档here中看到这一点。因为union方法接受*others作为参数,所以您可以传入任意数量的集合,它将执行所有集合的并集。

set1 = {1, 2, 3, 4}
set2 = {1, 3, 4, 5}
set3 = {2, 4, 6, 7}

print(set.union(set1, set2, set))
# {1, 2, 3, 4, 5, 6, 7}