如何将两个集合相加?

160
a = {'a', 'b', 'c'} 
b = {'d', 'e', 'f'}

我如何将上述两组数字相加?我期望的结果是:

c = {'a', 'b', 'c', 'd', 'e', 'f'}
5个回答

237

使用以下方法计算集合的并集:

c = a | b

集合是无序的、唯一值序列。 a | b,或者 a.union(b),代表的是两个集合的并集 - 即一个新的集合,其中包含在任意一个集合中出现的所有值。这是一类被称为“集合操作”的操作,Python 集合类型支持此类操作。


5
如果C已经是一个集合,并且您希望就地更新,则可以执行 c |= a | b - CpILL

91
你可以使用.update()将集合b合并到集合a。尝试以下代码:
a = {'a', 'b', 'c'}
b = {'d', 'e', 'f'}
a.update(b)
print(a)

为了创建一个新的集合,你首先需要复制第一个集合:.copy()
c = a.copy()
c.update(b)
print(c)

10

使用a和b的并集结果在c中。注意:sorted()用于打印排序输出。

a = {'a','b','c'} 
b = {'d','e','f'}
c = a.union(b)
print(sorted(c)) #this will print a sorted list

或者简单地打印出a和b的未排序并集

print(c)  #this will print set c

1
这会打印出一个列表 ['a', 'b', 'c', 'd', 'e', 'f'] 而不是一个集合 {'c', 'b', 'f', 'a', 'e', 'd'} - Pablo
print(c) #打印集合。 sorted()将打印已排序的列表。 - Maaz Bin Mustaqeem

1
如果您想要对两个集合进行减法运算,我测试过以下方法:
A={'A1','A2','A3'}
B={'B1','B2'}
C={'C1','C2'}
D={'D1','D2','D3'}

All_Staff=A|B|C|D
All_Staff=sorted(All_Staff.difference(B)) 
print("All of the stuff are:",All_Staff)

结果:

All of the stuff are: ['A1', 'A2', 'A3', 'C1', 'C2', 'D1', 'D2', 'D3']

1
使用unpack函数:
>>> c = {*a, *b}
>>> c
{'a', 'b', 'c', 'd', 'e', 'f'}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接