NetworkX: как добавить веса к существующему G.edges()?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 NetworkX: как добавить веса к существующему G.edges()?

Сообщение Anonymous »


Для любого графа G, созданного в NetworkX, я хочу иметь возможность присваивать некоторые веса функции G.edges() после создания графа. Используемые графы — это сетки, эрдос-рейни, барабаси-альберт и т. д.

Учитывая мой G.edges():

[(0, 1), (0, 10), (1, 11), (1, 2), (2, 3), (2, 12), ...] И мои веса:

{(0,1):1.0, (0,10):1.0, (1,2):1.0, (1,11):1.0, (2,3):1.0, (2, 12):1.0, ...} Как присвоить каждому ребру соответствующий вес? В этом тривиальном случае все веса равны 1.

Я пытался добавить веса в G.edges() напрямую, вот так

для i, край в перечислении (G.edges()): G.edges['weight']=вес[край] Но я получаю вот такую ​​ошибку:

-------------------------------------------- ------------------------------- TypeError Traceback (самый последний вызов — последний) в () 10 11 для i, край в перечислении (G.edges()): ---> 12 G.edges['weight']=weights[edge] Ошибка типа: объект «instancemethod» не имеет атрибута «__getitem__» Что не так? Поскольку G.edges() — это список, почему я не могу получить доступ к его элементам, как и к любому другому списку?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»