ПочатиПочніть безкоштовно

Задавання ваг на ребрах

Ваги можна додавати до ребер у графі — зазвичай вони позначають «силу» ребра. У NetworkX вага задається ключем 'weight' у словнику метаданих.

Перш ніж виконувати вправу, скористайтеся IPython Shell, щоб отримати доступ до словника метаданих T і оглянути його, наприклад, виконавши команди T.edges[1, 10], а потім T.edges[10, 1]. Зверніть увагу, що є лише одне поле, і зараз ви додасте ще одне поле — 'weight'.

Ця вправа є частиною курсу

Вступ до аналізу мереж у Python

Переглянути курс

Інструкції до вправи

  • Встановіть атрибут 'weight' для ребра між вершинами 1 і 10 у T, щоб він дорівнював 2. Використайте такий шаблон для встановлення атрибута ребра: network_name.edges[node1, node2]['attribute'] = value. Тут 'attribute' — це 'weight'.
  • Встановіть вагу кожного ребра, що залучає вершину 293, рівною 1.1. Для цього:
    • За допомогою циклу for пройдіться всіма ребрами T, включно з metadata.
    • Якщо 293 присутня у списку вершин [u, v]:
      • Встановіть вагу ребра між u та v рівною 1.1.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Set the weight of the edge
____ = 2

# Iterate over all the edges (with metadata)
for u, v, d in ____:

    # Check if node 293 is involved
    if 293 in ____:

        # Set the weight to 1.1
        ____ = 1.1
Редагувати та запускати код