2009-08-22 118 views
0

的我有一個排序的字典字典對象

{ 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')'>' }

這裏NEW_CONFIG是對象,我有如何訪問對象屬性來訪問對象元素

???? 假設我想訪問new_config.name

+1

這不是Python代碼。它是什麼? – 2009-08-22 11:28:41

回答

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' 

一般來說,

DictName [KEY]會提供該KEYVALUE

所以要訪問屬性,其中VALUE是一個對象,你可以使用

DictName[KEY].attritbute

+0

坦克供您提交 – 2009-08-27 03:22:03

1

Python字典沒有排序。如果你有一些自定義類實現了一些映射方法(比如字典),但是爲了保持一些(排序)排序的外觀而使用某些自定義類,那麼實現細節也可以解釋爲什麼你的例子看起來不像比如有效的Python。

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

...看起來幾乎像Python一樣。 1L,2L是大整數的表示(如果這是字典,則爲 鍵)。 New_Config(...)看起來有點像repr的東西,而後面的(..)就像函數調用一樣。

所以,我的建議是不要試圖從記憶中發佈一個問題,或者從你看到的一些模糊的概念中發佈一個問題。其實粘貼一些代碼。

如果你確實有物體存在,那麼你會使用new_config.attribute或可能訪問它們的屬性通過一些new_config.accessor()方法調用(如果有人編寫了自己的類是討厭)(如foo.getThis()foo.getThat()或一些其他類似的空洞)。