我有以下代码为我提供了集合A和B的并集,但它给了我错误:
TypeError:不可哈希类型:'set'
代码:
A = {1, {2}, 3}
B = {{1, {2}}, 3, 4}
A | B
出了什么问题?
答案 0 :(得分:1)
正如@WilliemVanOnsem所指出的:set
s是可变的且不可散列,不能包含在其他集合中。
如果您需要可哈希集,则可以use frozensets
-已冻结 (不可变),因此可哈希:
A = {1, frozenset({2}), 3}
B = {frozenset({1, frozenset({2})}), 3, 4}
print(A | B)
输出:
set([1, 3, 4, frozenset([2]), frozenset([1, frozenset([2])])])