python - NetworkX g.neighbors(n) dict_keyiterator 错误信息

标签 python python-3.x dictionary networkx graph-theory

<分区>

我正在尝试使用 NetworkX 中的 G.neighbors() 函数在定义的图中查找给定节点的所有邻居。我将我的有向图的图结构设置如下:

import networkx as nx

#Define network structure
G=nx.DiGraph()
G.add_edge('x','a', dependency=0.4)
G.add_edge('x','b', dependency=0.6)
G.add_edge('a','c', dependency=0.9)
G.add_edge('b','c', dependency=0.3)
G.add_edge('b','d', dependency=0.7)
G.add_edge('d','e', dependency=0.8)
G.add_edge('c','y', dependency=0.4)
G.add_edge('e','y', dependency=0.2)
G.add_node('x', value=20)
G.add_node('a', value=15)
G.add_node('b', value=35)
G.add_node('c', value=10)
G.add_node('d', value=15)
G.add_node('e', value=5)
G.add_node('y', value=15)

现在,我试图找到例如的所有节点邻居。节点“b”,应该是“c”和“d”。我正在使用以下功能:

print(G.neighbors('b'))

现在,Python 不会抛出任何错误消息,而是抛出以下语句:

<dict_keyiterator object at 0x000001561D812950>
Process finished with exit code 0

正如你所看到的,它不是扔掉 G.node('b') 的邻居而是这条消息。有人可以帮我解决这个问题吗?

最佳答案

这是因为 graph.neighbors() 函数返回一个迭代器对象。这可以被视为一个列表,就像我们通常查看迭代器一样:

>>> list(G.neighbors('b'))
['c', 'd']

关于python - NetworkX g.neighbors(n) dict_keyiterator 错误信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60205027/

相关文章:

c# - 使用 Linq 从字典 C# 中删除特定值

python - 迭代读取 Pandas DataFrame 的 (tsv) 文件

java - 对象内存管理 Python 与 Java

python - np.angle python 计算的相位与计算虚部除以复数实部的反正切得到的值不同

python - 根据字典赋值

Python - 通过键显示值的字典

python - 我无法在 Ubuntu 上初始化 Google Cloud SDK

python - 使用 Python 列表计算多项式的乘积

python - 电子竞技比赛预测器(机器学习)

Python 输入问题?