Maison >développement back-end >Tutoriel Python >Comment accéder aux dictionnaires Python imbriqués avec une syntaxe de style objet ?

Comment accéder aux dictionnaires Python imbriqués avec une syntaxe de style objet ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-12 05:49:021097parcourir

How to Access Nested Python Dictionaries with Object-Style Syntax?

Comment accéder aux dictionnaires Python imbriqués avec une syntaxe de style objet

Lorsque vous travaillez avec des dictionnaires imbriqués en Python, il peut être fastidieux d'accéder aux données à l'aide de clés. C'est là que se pose le besoin d'une syntaxe de style objet.

À partir de Python 2.6, la structure de données nommée tuple offre une solution. Les tuples nommés permettent de créer des tuples avec des attributs nommés, facilitant ainsi l'accès aux données à l'aide de la syntaxe des attributs. Par exemple :

from collections import namedtuple

MyStruct = namedtuple('MyStruct', 'a b d')
s = MyStruct(a=1, b={'c': 2}, d=['hi'])

print(s.a)   # Output: 1
print(s.b)   # Output: {'c': 2}
print(s.c)   # Error: AttributeError: 'MyStruct' has no attribute 'c' since it's not defined in the tuple
print(s.d)   # Output: ['hi']

Une approche alternative peut être implémentée à l'aide d'une classe personnalisée :

class Struct:
    def __init__(self, **entries):
        self.__dict__.update(entries)

args = {'a': 1, 'b': 2}
s = Struct(**args)

print(s.a)   # Output: 1
print(s.b)   # Output: 2

Les tuples nommés et les classes personnalisées fournissent une solution élégante pour accéder aux dictionnaires imbriqués en Python à l'aide d'objets. syntaxe de style. Considérez la structure de données appropriée pour votre cas d'utilisation spécifique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn