将集合添加到现有集合

Add a set to existing set

我的目标是从 a_list 中的所有集合中获取交集。 我的错误是,如何将值添加到 a_set.

a_set = set()
for i in range(len(a_list)-1):
    a_set.add(a_list[i] & a_list[i+1])

其中: a_list 是用数字填充的集合列表。 a_list = [{224, 225, 3, 42, 108, 45, 78, 173, 115, 23, 221, 222, 191}, {2, 67, 6, 171, 109 , 79, 222}, {160, 2, 222, 184}, {225, 2, 4, 76, 45, 16, 222, 223}]

错误: a_set.add(a_list[i] & a_list[i+1]) 类型错误:不可散列的类型:'set'

您的问题是您尝试将一个集合添加到一个集合。
这是做不到的 - unhashable type: 'set'
下面的代码可以满足您的需求 - 它将交集成员添加到最终集合中。

a_list = [{224, 225, 3, 42, 108, 45, 78, 173, 115, 23, 221, 222, 191}, {2, 67, 6, 171, 109, 79, 222}, {160, 2, 222, 184}, {225, 2, 4, 76, 45, 16, 222, 223}]
u = set.intersection(*a_list)
print(u)

输出

{222}