20 lines
596 B
Python
20 lines
596 B
Python
from typing import Dict
|
|
import networkx as nx
|
|
|
|
def extraire_niveaux(G: nx.DiGraph) -> Dict[str | int, int]:
|
|
"""Extrait les niveaux des nœuds du graphe.
|
|
|
|
Args:
|
|
G (nx.DiGraph): Le graphe d'origine à analyser.
|
|
|
|
Returns:
|
|
dict: Un dictionnaire associant chaque nœud au niveau correspondant.
|
|
Les valeurs sont des entiers représentant les niveaux.
|
|
"""
|
|
niveaux = {}
|
|
for node, attrs in G.nodes(data=True):
|
|
niveau_str = attrs.get("niveau")
|
|
if niveau_str:
|
|
niveaux[node] = int(str(niveau_str).strip('"'))
|
|
return niveaux
|