"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment créer des dictionnaires imbriqués dynamiquement avec une profondeur illimitée en Python ?

Comment créer des dictionnaires imbriqués dynamiquement avec une profondeur illimitée en Python ?

Publié le 2024-11-06
Parcourir:199

How to Create Dynamically Nested Dictionaries with Unlimited Depth in Python?

Dictionnaires imbriqués dynamiquement avec une profondeur indéfinie

Dans les scénarios impliquant des structures de données complexes à plusieurs niveaux, il est souvent nécessaire de recourir à des dictionnaires avec imbrication de variables niveaux. Bien que le codage en dur des instructions d'insertion soit une solution potentielle, cette approche n'est pas pratique lorsque la profondeur de l'imbrication est inconnue au préalable.

Pour surmonter cette limitation, envisagez d'utiliser collections.defaultdict de Python, qui permet la création de dictionnaire dynamique. Les dictionnaires imbriqués peuvent être créés à l'aide de l'expression lambda suivante :

nested_dict = lambda: defaultdict(nested_dict)

Cette fonction lambda génère un dictionnaire imbriqué qui se comporte de manière identique à celui par défaut de defaultdict. comportement de création de dictionnaires pour les clés manquantes. Il permet la création de dictionnaires de profondeur arbitraire sans avoir besoin de définition explicite.

Pour démontrer son utilisation, considérons l'exemple suivant :

nest = nested_dict()
nest[0][1][2][3][4][5] = 6

Dans ce cas, un dictionnaire avec six niveaux d'imbrication est créé dynamiquement en accédant simplement aux clés appropriées dans l'objet nested_dict. Cette approche offre un moyen flexible et efficace de représenter des données à plusieurs niveaux, quelle que soit leur profondeur.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729129458. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3