我在python2.7中使用networkx模块生成以下函数,产生错误。
for H in networkx.connected_component_subgraphs(G):
bestScore = -1.0
for n, d in H.nodes_iter(data=True):
if d['Score'] > bestScore:
bestScore = d['Score']
bestSV = n
if bestSV is not None:
selectedSVs.add(bestSV)
错误:
Traceback (most recent call last):
File "cnvClassifier.py", line 128, in <module>
for n, d in H.nodes_iter(data=True):
AttributeError: 'Graph' object has no attribute 'nodes_iter'
有人知道出了什么问题吗?
答案 0 :(得分:12)
您可能正在使用已删除nodes_iter()方法的networkx-2.0的预发布版本,现在为nodes()方法提供了相同的功能。 有关networkx-2.0更改的详细信息,请参阅this。
答案 1 :(得分:4)
以防万一链接再次更改,我将在此处发布实际的解决方案以供将来参考。
从NetworkX 2.0转发开始,您应该将以下代码行更改为:
for n, d in H.nodes_iter(data=True):
收件人:
for n, d in list(H.nodes(data=True)):