ÎncepețiÎncepe gratuit

Subgrafuri II

În exercițiul anterior, ți-am oferit o listă de noduri ai căror vecini trebuia să îi extragi.

Hai să mai exersăm: de această dată vei extrage nodurile care au o anumită proprietate de metadate, împreună cu vecinii lor. Acesta ar trebui să îți reamintească ce ai învățat despre utilizarea list comprehension-urilor pentru a găsi noduri. Exercițiul îți va consolida și capacitatea de a combina funcții pe care le-ai mai scris anterior.

Acest exercițiu face parte din cursul

Introducere în analiza rețelelor în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Folosind un list comprehension, extrage nodurile care au metadatele 'occupation' cu valoarea 'celebrity', împreună cu vecinii lor:
    • Expresia de ieșire a list comprehension-ului este n, iar cele două variabile iterator sunt: n și d. Iterabilul este lista nodurilor lui T (inclusiv metadatele, pe care le poți specifica folosind data=True), iar expresia condițională verifică dacă cheia 'occupation' din dicționarul de metadate d este egală cu 'celebrity'.
  • Plasează-le într-un nou subgraf numit T_sub. Pentru aceasta:
    • Iterează peste noduri, calculează vecinii fiecărui nod și adaugă-i la mulțimea de noduri nodeset folosind metoda .union(). Această ultimă parte a fost deja rezolvată pentru tine.
    • Folosește nodeset împreună cu metoda T.subgraph() pentru a calcula T_sub.
  • Afișează T_sub pe ecran.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Extract the nodes of interest: nodes
nodes = [n for n, d in ____ if ____ == ____]

# Create the set of nodes: nodeset
nodeset = set(nodes)

# Iterate over nodes
for n in ____:

    # Compute the neighbors of n: nbrs
    nbrs = ____

    # Compute the union of nodeset and nbrs: nodeset
    nodeset = nodeset.union(nbrs)

# Compute the subgraph using nodeset: T_sub
T_sub = ____

# Draw T_sub to the screen
____
plt.show()
Editează și rulează codul