下面的代码在函数U=set(p.enum())中出现了错误,类型错误为:'set'是不可哈希类型。实际上,如果您能看到类方法enum返回的是列表" L ",其中包含一些集合。而函数中的U应该是一个集合类型,因此请问我如何解决这个问题?或者我该如何将一个列表中的多个集合转换为一个集合的集合?
class pattern(object):
def __init__(self,node,sets,cnt):
self.node=node
self.sets=sets
self.cnt=cnt
def enum(self):
L=[]
if self.cnt==1:
L = self.node
else:
for i in self.sets:
L=[]
for j in self.node:
if i!=j:
L.append(set([i])|set([j]))
return L #List of sets
V=set([1,2,3,4])
U=set()
cnt=1
for j in V:
p=pattern(V,(U|set([j])),cnt)
U=set(p.enum()) #type error Unhashable type:'set'
print U
cnt+=1