举个例子:
setA = set("A")
setB = set("B")
list = [setA, setB]
test = set("C")
test.add(list)
这给了我预期的TypeError: unhashable type: 'list'
。
如何获得一组{'C', 'B', 'A'}
?
答案 0 :(得分:2)
您可以使用set.union
:
setA = set("A")
setB = set("B")
setC = set("C")
my_list = [setA, setB, setC]
result = set.union(*my_list)
您现在正在尝试将列表添加到不可能的集合中。
如果你有test = set("C")
,那么你可以这样做:
test |= setA | setB
这也会将setA
和setB
的内容添加到test
。
答案 1 :(得分:1)
您可以将多个参数传递给test.update
test.update(*thelist)
有关内置函数更新的帮助:
更新(...) 使用自身和其他人的联合更新集合。
>>> setA = set("A")
>>> setB = set("B")
>>> L = [setA, setB]
>>> test = set("C")
>>> test.update(*L) # equivalent to calling test.update(setA, setB)
>>> test
set(['A', 'C', 'B'])
答案 2 :(得分:0)
您需要遍历所有集合:
for s in list:
test |= s