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

Вычисление количества соседей для каждого узла

Как определить, является ли узел важным? Существует несколько способов, и здесь мы рассмотрим одну метрику: количество соседей узла.

Каждый граф NetworkX G предоставляет метод .neighbors(n), который возвращает итератор узлов-соседей для узла n. Для начала попробуйте вызвать этот метод в IPython Shell для сети Twitter T, чтобы получить соседей узла 1 — это поможет вам разобраться в том, как работает метод. Затем ваша задача в этом упражнении — написать функцию, которая возвращает все узлы, имеющие ровно m соседей.

Это упражнение является частью курса

Введение в анализ сетей на Python

Посмотреть курс

Инструкции к упражнению

  • Напишите функцию nodes_with_m_nbrs() с двумя параметрами — G и m — которая возвращает все узлы, имеющие m соседей. Для этого:
    • Переберите все узлы в G (не включая метаданные).
    • Используйте функции len() и list() вместе с методом .neighbors(), чтобы вычислить общее количество соседей узла n в графе G.
      • Если количество соседей узла n равно m, добавьте n во множество nodes с помощью метода .add().
    • После перебора всех узлов в G верните множество nodes.
  • Используйте функцию nodes_with_m_nbrs(), чтобы получить все узлы с 6 соседями в графе T.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Define nodes_with_m_nbrs()
def ____:
    """
    Returns all nodes in graph G that have m neighbors.
    """
    nodes = set()

    # Iterate over all nodes in G
    for n in ____:

        # Check if the number of neighbors of n matches m
        if ____ == ____:

            # Add the node n to the set
            ____

    # Return the nodes with m neighbors
    return nodes

# Compute and print all nodes in T that have 6 neighbors
six_nbrs = ____
print(____)
Редактировать и запускать код