Возможно ли иметь один атрибут со списком назначенных ему значений? - PullRequest
1 голос
/ 05 июня 2019

Я хочу назначить несколько значений одному атрибуту в NetworkX, но каждый пример, который я могу найти, предполагает, что с одним атрибутом может быть связано только одно значение.

Допустим, у меня есть узел с именем N1 со следующими атрибутами:

modifications_flags

total

Атрибут Modification_flags, я хотел бы быть список чисел.

1008 * например *

modification_flags: 1,2,7,5

Причина, по которой я хочу это сделать, заключается в том, что значение Modification_flags определяется тем, как ребра удаляются из графика.

При удалении ребра, ранее подключенного от N1 к N2, каждому параметру присваивается значение одной из модификаций в зависимости от атрибута, удерживаемого ребром, который изначально был связан с двумя узлами.

Один узел может иметь несколько ребер, и каждое из ребер, если оно удалено, должно передавать значение модификации узлу.

В настоящее время я пытаюсь это сделать, если в качестве значения_индикатуры есть строковый тип данных, а затем преобразовать числовое значение флага изменения в строку, а затем добавить его в конец строки модификационных_флагов.

1019 * например *

modification_flags = '1'

modification value to be added (mod_value) = 4

modification_flags = modification_flag + str(mod_value)

modification_flags = '14'

Затем я перебираю строку, как если бы это был список. Хотя это работает для моего варианта использования, было бы намного лучше, если бы атрибутомification_flags мог быть список значений.

1024 * например *

modification_flags = [1,4]

Возможно ли это? Может ли кто-то, пожалуйста, указать мне на документацию / предоставить пример того, как это будет сделано?

Примечание. Я не пытаюсь получить значения атрибутов из списка или словаря, а имею один атрибут BE список

1 Ответ

0 голосов
/ 05 июня 2019

Да

import networkx as nx
G=nx.Graph()
G.add_node(1, attributelist = [])
G.add_node(2, attributelist = [ 'a', 'b', 6])
G.nodes(data=True)
> NodeDataView({1: {'attributelist': []}, 2: {'attributelist': ['a', 'b', 6]}})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...