如何不使用“|”将两个集合连成一行

2024-04-20 13:59:50 发布

您现在位置:Python中文网/ 问答频道 /正文

假设ST是赋值集。不使用join运算符|,如何找到这两个集合的并集?例如,这将查找交叉点:

S = {1, 2, 3, 4}
T = {3, 4, 5, 6}
S_intersect_T = { i for i in S if i in T }

那么,如果不使用|,如何在一行中找到两个集合的并集呢?


Tags: inforif运算符joinintersect赋值交叉点
3条回答

可以对集合使用union方法:set.union(other_set)

注意,它返回一个新的集合,即它不修改自己。

如果您可以修改原始集(在某些情况下可能需要这样做),则可以使用set.update()

S.update(T)

返回值是None,但是S将被更新为原始ST的并集。

您可以使用or_别名:

>>> from operator import or_
>>> from functools import reduce # python3 required
>>> reduce(or_, [{1, 2, 3, 4}, {3, 4, 5, 6}])
set([1, 2, 3, 4, 5, 6])

相关问题 更多 >