ComeçarComece de graça

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

Ver curso

Instruções do exercício

  • Escreva uma função chamada get_nodes_from_partition() que receba dois argumentos — um grafo bipartido G e uma partition de G — e retorne apenas os nós dessa partition.
    • Faça a iteração por todos os nós de G (não incluindo os metadados) usando um loop for.
    • Acesse a palavra-chave 'bipartite' do dicionário de metadados do nó atual. Se ela for igual a partition, adicione o nó atual à lista nodes.
  • Use sua função get_nodes_from_partition() junto com a função len() para:
    • Imprimir o número de nós na partição 'projects' de G.
    • Imprimir o número de nós na partição 'users' de G.

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(____(____))
Editar e executar o código