ComenzarEmpieza gratis

La palabra clave bipartite

En el vídeo, Eric te presentó la palabra clave 'bipartite'. Esta palabra clave forma parte del diccionario de metadatos de un nodo y se puede asignar tanto al añadir un nodo como después de haberlo añadido. Recuerda, no obstante, que por definición, en un grafo bipartito un nodo no puede estar conectado a otro nodo de la misma partición.

Aquí vas a escribir una función que devuelva los nodos de una partición dada en un grafo bipartito. En este caso, las particiones relevantes del grafo bipartito de Github con el que vas a trabajar son 'projects' y 'users'.

Este ejercicio forma parte del curso

Análisis de redes intermedio en Python

Ver curso

Instrucciones del ejercicio

  • Escribe una función llamada get_nodes_from_partition() que acepte dos argumentos: un grafo bipartito G y una partition de G, y devuelva solo los nodos de esa partition.
    • Itera sobre todos los nodos de G (sin incluir los metadatos) usando un bucle for.
    • Accede a la palabra clave 'bipartite' del diccionario de metadatos del nodo actual. Si es igual a partition, añade el nodo actual a la lista nodes.
  • Usa tu función get_nodes_from_partition() junto con la función len() para:
    • Imprimir el número de nodos en la partición 'projects' de G.
    • Imprimir el número de nodos en la partición 'users' de G.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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 y ejecutar código