доступ к определенным элементам из словаря Python - PullRequest
2 голосов
/ 23 марта 2011

Не уверен, что люди обращаются к чуть более старым вопросам, но Доступ к элементам словаря питона

Считайте что-то вроде

dict = {
        'Apple': {'American':'16', 'Mexican':10, 'Chinese':5},
        'Grapes':{'Arabian':'25','Indian':'20'} 
       }

Как мне получить доступ к определенному элементу этого словаря? например, я хотел бы напечатать первый элемент после некоторого форматирования первого элемента Apple, который в нашем случае 'American' only?

Дополнительная информация Приведенная выше структура данных была создана путем анализа входного файла в функции python. Однако после создания он остается тем же для этого прогона.

Я использую эту структуру данных в своей функции.

Так что, если файл изменяется, при следующем запуске этого приложения содержимое файла будет другим, и, следовательно, содержимое этой структуры данных будет другим, но формат будет таким же. Итак, вы видите, что я в своей функции не знаю, что первый элемент в Apple - это 'American' или что-то еще, поэтому я не могу напрямую использовать 'American' в качестве ключа.

Короче говоря, в качестве входных данных у меня есть переменная v, которая может иметь значение 'apple', 'grape' или любую другую и созданную выше структуру данных в качестве входных данных для моей функции.

Если переменная присутствует в вышеуказанном Dict структуры данных,

Таким образом, если variable==apple или grapes, то: тогда мне нужно получить соответствующие связанные элементы и распечатать их в определенном формате, например так:

Group Apple
   Item "American" Value 16
   Item "Mexican" Value 10

Group Grapes
   Item "Arabian" Value 25
   Item "Indian" Value 20

Group value3 .. 
   and so on

Если variable == 'pumpkin', мы ищем его в приведенной выше структуре данных Dict, и, поскольку он отсутствует, мы ничего не печатаем

и т.д ..

Я надеюсь, что смогу объяснить, чего я хочу. Примечание: лучше, чтобы это было объединено с вышеуказанным вопросом, и поэтому я тоже могу принять ответы

1 Ответ

3 голосов
/ 23 марта 2011
for i in dict.keys():
    print "Group", i
    for j in dict[i].keys():
        print "Item", j, "Value", dict[i][j]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...