将一组列的项添加到另一组

时间:2014-11-13 23:04:37

标签: python list set

举个例子:

setA = set("A")
setB = set("B")
list = [setA, setB]

test = set("C")
test.add(list)

这给了我预期的TypeError: unhashable type: 'list'

如何获得一组{'C', 'B', 'A'}

3 个答案:

答案 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

这也会将setAsetB的内容添加到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