2016-12-14 3 views
0

У меня есть образец словаря.Получить значения слова как приписываемые

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

Я хочу, чтобы получить атрибуты из словаря в следующем,

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

Как я могу переопределить Dict мета методы для этого? У меня есть словарь, состоящий из большого количества ключей, значений. Я просто хочу преобразовать его в какой-то объект, чтобы он мог работать как обычный словарь, а также получать атрибут, как описано выше.

+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

Да, я не читал последнее предложение: / –

Смежные вопросы