2009-08-22 8 views
0

j'ai un dict Sorteddictionnaire d'objet

{ 1L: '<'New_Config (type: 'String') (id: 1L) (value: 4L) (name: 'account_receivable')'>', 2L: '<'New_Config (type: 'string') (id: 2L) (value: 5L) (name: 'account_payable')'>', 3L: '<'New_Config (type: 'String') (id: 3L) (value: 8L) (name: 'account_cogs ')'>', 4L: '<'New_Config (type: 'String') (id: 4L)(value: 9L)(name: 'account_retained_earning')'>', 5L: '<'New_Config (type: 'String') (id: 5L) (value: 6L) (name: 'account_income')'>' }

ici NEW_CONFIG est l'objet, je dois accéder à l'élément d'objet

Comment puis-je accéder aux propriétés de l'objet ???? Supposons que je veux accéder à new_config.name

+1

Ce n'est pas du code Python. Qu'Est-ce que c'est? –

Répondre

0
class Foo(object): 
    def __init__(self,name,weight): 
     self.name = name 
     self.weight = weight 

>>> D = {} 
>>> D['1L'] = Foo("James",67) 
>>> D['2L'] = Foo("Jack",83) 
>>> D 
{'2L': <__main__.Foo object at 0x013EB330>, 
'1L': <__main__.Foo object at 0x00C402D0>} 

>>> D['1L'].name 
'James' 

En général,

DictName [KEY] vous donne VALEUR pour cette KEY.

ainsi l'accès attribut où VALEUR est un objet que vous pouvez utiliser

DictName[KEY].attritbute

+0

réservoirs pour votre soumission utile –

1

Les dictionnaires Python ne sont pas triés. Si vous avez une classe personnalisée qui implémente certaines méthodes de mappage (comme un dictionnaire) mais qui en supplante certaines pour donner l'impression de conserver un ordre (trié), les détails d'implémentation de cette méthode peuvent également expliquer pourquoi votre exemple ne ressemble pas comme Python valide.

{ 
1L: New_Config(...)(...)(...)..., 
2L: New_config(...)(...)(...)..., 

... ressemble presque à un Python. 1L, 2L sont des représentations de grands entiers (comme si c'était un dictionnaire). New_Config (...) ressemble à un repr de quelque chose, et le (..) qui suivrait serait comme un appel de fonction. Donc, mon conseil est de ne pas essayer de poster une question de mémoire ou d'une vague idée de ce que vous pensiez avoir vu. En fait coller dans du code.

Si vous aviez alors il fait des objets vous devez accéder à leurs attributs à l'aide new_config.attribute ou peut-être (si quelqu'un codé leur classe pour être désagréable) par certains appels new_config.accessor() (comme foo.getThis() et foo.getThat() ou quelque chose d'aussi inepte).