以下代码尝试计算某些子图结构有多少外部边。 substructure
是节点列表,graph[node]
返回node
的邻居节点列表。
external_edge = 0
for node in substructure:
for neighbor in graph[node]:
if neighbor not in substructure:
external_edge += 1
有没有更好的方法来实现这一目标?我尝试了列表理解,但external_edge+=1
不是表达式。
答案 0 :(得分:0)
嗯..它不是更有效但可能更加pythonic(使用带有sum函数的列表理解)。
external_age = sum(1 for node in substructure for neighbor in graph[node] if neighbor not in substructure)
答案 1 :(得分:0)
因为你只需要外边数
len(node for node in substructure for neighbor in graph[node] if neighbor not in substructure)