【发布时间】:2016-09-27 17:12:19
【问题描述】:
我目前正在 Python2 中使用 NetworkX,只是在这里遇到了一个奇怪的情况。我想发现图中的每个节点都连接了哪些节点,所以我写了这个 for 循环。 (我知道每个节点只连接到其他两个节点,但我需要确切的标签)
for i in sorted(graph.nodes(), key=int):
b = [int(edge_tuple[0]) for edge_tuple in PedigNetwork.in_edges(i)]
print i, b
因此,对于每个元素 i,b 是一个长度为 2 的列表,包含连接到节点 i 的两个节点的标识。
但是当我尝试访问该列表的第一个 (b[0]) 元素时,它返回一个错误,指出索引超出范围。
print i, b[0]
IndexError: list index out of range
但如果列表有两个元素,[0] 显然没有超出范围。
任何想法我该如何解决? 我在这里错过了一些非常基本的东西吗?
我想分别访问第一个和第二个元素,然后将它们存储到列表中。
非常感谢您。
【问题讨论】:
-
G.predecessors(i)将给出所有边指向i的节点。
标签: python networking graph networkx