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
Instrucciones del ejercicio
- Escribe una función llamada
get_nodes_from_partition()que acepte dos argumentos: un grafo bipartitoGy unapartitiondeG, y devuelva solo los nodos de esapartition.- Itera sobre todos los nodos de
G(sin incluir los metadatos) usando un buclefor. - Accede a la palabra clave
'bipartite'del diccionario de metadatos del nodo actual. Si es igual apartition, añade el nodo actual a la listanodes.
- Itera sobre todos los nodos de
- Usa tu función
get_nodes_from_partition()junto con la funciónlen()para:- Imprimir el número de nodos en la partición
'projects'deG. - Imprimir el número de nodos en la partición
'users'deG.
- Imprimir el número de nodos en la partición
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(____(____))