如何在不使用“|”的情况下在一行中连接两组
假设S和T是分配的集合。 不使用连接运算符|  ,我怎样才能find两套的结合? 例如,这发现交叉点: 
 S = {1, 2, 3, 4} T = {3, 4, 5, 6} S_intersect_T = { i for i in S if i in T } 
 那么如何在不使用|情况下在一行中find两组的联合  ? 
 你可以使用union方法来设置set.union(other_set) 
请注意,它会返回一个新的集合,即它不会自行修改。
对不起,为什么我们不能再使用连接操作符?
 >>> set([1,2,3]) | set([4,5,6]) set([1, 2, 3, 4, 5, 6]) 
 你可以使用or_ : 
 >>> from operator import or_ >>> reduce(or_, [{1, 2, 3, 4}, {3, 4, 5, 6}]) set([1, 2, 3, 4, 5, 6]) 
 假设你也不能使用s.union(t) ,这相当于s | t 你可以试试 
 >>> from itertools import chain >>> set(chain(s,t)) set([1, 2, 3, 4, 5, 6]) 
或者,如果你想要一个理解,
 >>> {i for j in (s,t) for i in j} set([1, 2, 3, 4, 5, 6]) 
如果join你的意思是联合,试试这个:
 set(list(s) + list(t)) 
这是一个黑客,但我想不出一个更好的单线程来做到这一点。
假设你有2个列表
  A = [1,2,3,4] B = [3,4,5,6] 
 所以你可以findA联盟B如下 
  union = set(A).union(set(B)) 
另外如果你想find交集和非交集你做如下
  intersection = set(A).intersection(set(B)) non_intersection = union - intersection 
 你可以做union或简单的列表理解 
 [A.add(_) for _ in B] 
A将拥有B的所有元素