НачатьНачать бесплатно

Задание весов рёбер

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

Прежде чем приступить к упражнению, воспользуйтесь оболочкой IPython, чтобы изучить метаданные словаря 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
Редактировать и запускать код