【发布时间】:2020-08-14 00:07:47
【问题描述】:
我正在写一个dfs树遍历代码:
graph = {
1 : {2,3},
2 : {4,5},
3 : {}
}
def dfs(graph,start):
visited = set()
stack = [start]
while stack:
vertex = stack.pop()
if vertex not in visited:
visited.add(vertex)
stack = list(graph[vertex] - visited) + stack
return visited
v = dfs(graph,1)
调用函数v = dfs(graph,1)时出现如下错误:
<ipython-input-25-81ccabb8c90b> in dfs(graph, start)
6 if vertex not in visited:
7 visited.add(vertex)
----> 8 stack = list(graph[vertex] - visited) + stack
9 return visited
TypeError: unsupported operand type(s) for -: 'dict' and 'set'
从字典中调用graph[vertex]时,图不是返回一个集合吗?那为什么操作给TypeError呢?
【问题讨论】:
标签: python