2009-08-22 101 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()或一些其他类似的空洞)。