Поддерживает ли graph.nodes () какой-либо порядок? - PullRequest
0 голосов
/ 25 марта 2019

При использовании networkx2 метод .nodes() гарантирует какое-то согласованное упорядочение узлов или мы можем ожидать, что упорядочение изменится между несколькими вызовами на одном графике?

1 Ответ

1 голос
/ 25 марта 2019

До Python 3,6

Узлы хранятся в dictionary, а nodes() возвращает список ключей dictionary.Порядок будет постоянным до тех пор, пока вы ничего не измените в узлах графа.Добавление / удаление узлов или ребер может повлиять на порядок.

Из Python 3.6:

В некоторых реализациях Python, таких как CPython , dictionaryподдерживать порядок вставки, что означает, что вы можете ожидать порядок печати, однако не все из них

из Python 3.7:

Заказано dictionary теперь является языковым стандартом.

Из документов

def nodes(self): 
    """Return a copy of the graph nodes in a list.""" 
    return self.adj.keys()

networkx поддерживают Python 2.7, 3.4, 3.5 или 3.6, поведение зависит от вашей версии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...