我有两个集合set([1,2,3]
和set([4,5,6]
。我想添加它们以便设置1,2,3,4,5,6
。
我试过了:
b = set([1,2,3]).add(set([4,5,6]))
但它给了我一个错误:
Traceback (most recent call last):
File "<ipython-input-27-d2646d891a38>", line 1, in <module>
b = set([1,2,3]).add(set([4,5,6]))
TypeError: unhashable type: 'set'
问题:如何更正我的代码?
您可以使用|
获取集合的并集
> set([1, 2, 4]) | set([5, 6, 7])
{1, 2, 4, 5, 6, 7}
尝试使用add(set([4,5,6]))
是无效的,因为它试图将整个集合添加为单个元素,而不是集合中的元素——而且由于它不可哈希,所以它失败了。
您应该将并集运算与.union
方法或|
运算符一起使用:
>>> a = set([1, 2, 3])
>>> b = set([4, 5, 3])
>>> c = a.union(b)
>>> print(c)
{1, 2, 3, 4, 5}
>>> d = a | b
>>> print(d)
{1, 2, 3, 4, 5}
请参阅集合的完整操作列表。