将集合列表中的项添加到另一个集合中

2024-06-28 20:33:50 发布

您现在位置:Python中文网/ 问答频道 /正文

举个例子:

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

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

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

如何获得集合{'C', 'B', 'A'}


Tags: testaddtypelist例子settypeerrorseta
3条回答

您可以使用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

您需要在所有集合上循环:

for s in list:
    test |= s

可以将多个参数传递给test.update

test.update(*thelist)

Help on built-in function update:

update(...) Update a set with the union of itself and others.

>>> 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'])

相关问题 更多 >