概述
我在程序中收到以下错误:追溯:
Traceback (most recent call last):
File "C:Python33ArchivePythonGrafosAlpha.py", line 126, in
menugrafos()
File "C:Python33ArchivePythonGrafosAlpha.py", line 97, in menugrafos
zetta = Beta.caminhografo(grafo,va,vb)
File "C:Python33ArchivePythonGrafosBeta.py", line 129, in caminhografo
if ([vo, a]) in vat == ([vo,vq]) in vat:
TypeError: unhashable type: 'list'
该程序旨在做一个工作正常的邻接表,然后继续搜索顶点va和vb之间是否存在路径。我在collection / defaultdict中使用了列表字典,因此我可以正确地附加相邻的顶点。
问题出在程序末尾创建列表之后的if子句中。我找不到一种方法,可以将if子句与dict正确配合使用,以查找顶点之间是否存在有效路径。grafo也是一个图类。
这是代码:
class graph:
v = 0
a = 0
node = []
class vertex:
ta = []
adj = {}
def caminhografo(grafo, va, vb):
vat = defaultdict(list)
i = 0
a = 0
z = 0
vo = int(va)
vq = int(vb)
vz = int(va)
vw = int(vb)
x = len(grafo.node)
if vz < vw:
for vz in range (vw+1):
a = 0
x = len(grafo.node)
for a in range (x):
if [int(vz),int(a)] in grafo.node:
vat[vz].append(a)
if vz > vw:
while vz > vw:
a = 0
x = len(grafo.node)
for a in range (x):
if[int(va),int(a)] in grafo.node:
vat[vz].append(a)
vz = vz - 1
a = 0
x = len(grafo.node)
print(vat)
for a in range (x):
if ([vo, a]) in vat == ([vo,vq]) in vat:
print("""
==============================================
Existe Caminho
==============================================
""")
break
elif ([vo,a]) in vat:
vo = a
else:
print("""
==============================================
Não Existe Caminho
==============================================
""")
break
感谢您的协助。
最后
以上就是沉默超短裙为你收集整理的python可哈希_Python,TypeError:不可哈希类型:'list'的全部内容,希望文章能够帮你解决python可哈希_Python,TypeError:不可哈希类型:'list'所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复