A palavra-chave bipartite
No vídeo, Eric apresentou a você a palavra-chave 'bipartite'. Essa palavra-chave faz parte do dicionário de metadados de um nó e pode ser atribuída tanto ao adicionar um nó quanto depois que ele é adicionado. Lembre-se, porém, de que, por definição, em um grafo bipartido, um nó não pode estar conectado a outro nó na mesma partição.
Aqui, você vai escrever uma função que retorna os nós de uma determinada partição em um grafo bipartido. Neste caso, as partições relevantes do grafo bipartido do Github com que você vai trabalhar são 'projects' e 'users'.
Este exercício faz parte do curso
Análise de Redes Intermediária em Python
Instruções do exercício
- Escreva uma função chamada
get_nodes_from_partition()que receba dois argumentos — um grafo bipartidoGe umapartitiondeG— e retorne apenas os nós dessapartition.- Faça a iteração por todos os nós de
G(não incluindo os metadados) usando um loopfor. - Acesse a palavra-chave
'bipartite'do dicionário de metadados do nó atual. Se ela for igual apartition, adicione o nó atual à listanodes.
- Faça a iteração por todos os nós de
- Use sua função
get_nodes_from_partition()junto com a funçãolen()para:- Imprimir o número de nós na partição
'projects'deG. - Imprimir o número de nós na partição
'users'deG.
- Imprimir o número de nós na partição
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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(____(____))