Ключевое слово 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(____(____))