2014-09-19 2 views
0

Я разбираю некоторую информацию из файла CSV и вводя ее в диктовку dicts. Внутренний dict v содержит следующие элементы: {'140725AD4': <mod.City object at 1x3259C2D1>, '631315AD2': <mod.City object at 0x023A4870>}. Как я могу получить доступ к объекту <mod.city object at 0x0138C3B0>?Доступ к элементам в словаре словарей

Thank you.

ответ

0

Предполагая, что этот вопрос является следование для этого - Updating Dictionary of Dictionaries in Python вы должны сделать это:

inner_dict = places["City"] 
for _, city_obj in inner_dict.items(): 
    print city_obj.population # Assuming population is one of the member variables of the class mod.city 
3

Имея структуру, как следующее:

john = { 
    "name": "John", 
    "family": { 
     "son": "Ret", 
     "daughter": "Pat" 
    } 
} 

Вы можете получить доступ к John сына имя как это:

john['family']['son'] 

Это вернет «Ret»

В вашем случае, если объект Город является ДИКТ вы можете использовать:

dict['140725AD4']['population'] 

Если объект City просто класс вы можете сделать

dict['140725AD4'].getPopulation() 

или

dict['140725AD4'].population 

Как это работает? Словарь - это хэш-карта пар (имя, значение). Всякий раз, когда вы вызываете имя, указывается значение. В Python значение может быть любым, от int до класса.

Поэтому, когда в дикторе вы запрашиваете имя внутри dict, например dict ['name'], вы возвращаете значение, связанное с ним. В этом случае это ваш объект City. Затем вы можете вызвать все, что связано со значением: функции, переменные ...

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