Объект "Graph" не имеет атрибута "nodes iter" в модуле networkx python
у меня есть функция ниже в 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'
2 ответов
вы, вероятно, используете предварительную версию networkx-2.0, которая удалила метод nodes_iter() и теперь предоставляет метод nodes () с той же функциональностью. См.https://networkx.readthedocs.org/en/latest/reference/release_2.0.html для получения подробной информации об изменениях networkx-2.0.
на случай, если ссылка снова изменится, я собираюсь опубликовать фактическое решение здесь для дальнейшего использования.
от NetworkX 2.0 вперед, вы должны изменить следующую строку кода от:
for n, d in H.nodes_iter(data=True):
в:
for n, d in list(H.nodes(data=True)):