2016-12-14 28 views
0

我有一個示例字典。將字典值歸爲

>>> my_dict = {'name': 'James', 'age': 10} 

我想從字典中的屬性如下,

>>> my_dict.name 
James 
>>> my_dict.age 
10 

我如何可以覆蓋這個字典元的方法呢? 我有大量的鍵,值的字典。我只是想將它轉換爲某個對象,以便它可以像普通字典一樣工作,也可以像上面解釋的那樣獲取屬性。

+0

預期的輸入和輸出? – Harsha

+0

上面的問題鏈接回答我的查詢。 –

+0

'''class attrdict(dict): __getattr__ = dict.get'''。解決這個問題。 –

回答

0

您可以創建一個namedtuple:

>>> from collections import namedtuple 
>>> my_dict = {'name': 'James', 'age': 10} 
>>> my_dotted = namedtuple('GenericDict', my_dict.keys())(**my_dict) 
>>> my_dotted 
GenericDict(name='James', age=10) 
>>> my_dotted.name 
'James' 
+0

但是'my_dotted ['name']'會失敗。 – jonrsharpe

+0

是的,我沒有讀最後一句話:/ –