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

Ключевое слово bipartite

В видео Эрик познакомил вас с ключевым словом 'bipartite'. Оно является частью словаря метаданных узла и может быть задано как при добавлении узла, так и после. Помните, однако, что по определению в двудольном графе узел не может быть связан с другим узлом той же партиции.

В этом упражнении вы напишете функцию, которая возвращает узлы из заданной партиции двудольного графа. В данном случае нас интересуют партиции 'projects' и 'users' двудольного графа GitHub, с которым вы будете работать.

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

Средний уровень сетевого анализа на Python

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

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

  • Напишите функцию get_nodes_from_partition(), которая принимает два аргумента — двудольный граф G и партицию partition графа G — и возвращает только узлы из этой партиции.
    • Переберите все узлы G (без метаданных) с помощью цикла for.
    • Обратитесь к ключу 'bipartite' в словаре метаданных текущего узла. Если его значение равно partition, добавьте текущий узел в список nodes.
  • Используйте функцию get_nodes_from_partition() совместно с функцией len(), чтобы:
    • Вывести количество узлов в партиции 'projects' графа G.
    • Вывести количество узлов в партиции 'users' графа G.

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

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

# Define get_nodes_from_partition()
def ____:
    # Initialize an empty list for nodes to be returned
    nodes = []
    # Iterate over each node in the graph G
    for n in ____:
        # Check that the node belongs to the particular partition
        if G.nodes[n]['____'] == ____:
            # If so, append it to the list of nodes
            ____
    return nodes

# Print the number of nodes in the 'projects' partition
print(____(get_nodes_from_partition(____, '____')))

# Print the number of nodes in the 'users' partition
print(____(____))
Редактировать и запускать код