Печать данных в словаре в Python - PullRequest
0 голосов
/ 07 октября 2011

Если у меня есть словарь, который выглядит следующим образом:

{'first': [
   {'red': ['six', 'three', 'seven', 'six']},
   {'green': ['eight', 'three', 'four']}
 ],
 'second': [
   {'blue': ['one', 'five', 'three']}
 ]
}

Как мне добраться до определенных пунктов в словаре? Например, как я могу распечатать вторую «шестерку» в «первом» заголовке под подзаголовком «красный»?

Ответы [ 3 ]

2 голосов
/ 07 октября 2011

Предполагая, что ваш словарь называется d, вы можете сделать это:

print(d['first'][0]['red'][3])
  • Выражение d['first'] дает вам значение, связанное с ключом 'first'.Значением является список.
  • [0] дает вам первый элемент в списке (кстати, почему у вас есть список, содержащий только один элемент?).Обратите внимание, что индексирование основано на 0 в Python.
  • Затем у вас есть другой словарь, значения которого снова являются списками.['red'] извлекает значение из этого словаря.
  • [3] обращается к четвертому элементу в списке.
1 голос
/ 07 октября 2011

За тот, который вы спросили:

>>> a = {'first': [{'red': ['six', 'three', 'seven', 'six']}, {'green': ['eight', 'three', 'four']}], 'second': [{'blue': ['one', 'five', 'three']}]}
>>> a['first'][0]['red'][3]
'six'
1 голос
/ 07 октября 2011

print mydict["first"][0]["red"][3] напечатает элемент 3 (четвертый элемент, поскольку элемент 0 является первым элементом).В этом случае он должен дать вам six.

Кроме того, здесь у вас есть list, содержащийся в dict, содержащийся в list, содержащийся в другом dict.Числовой индекс 3 обращается к части этого внутреннего list, и это не то, что обычно полезно для dict.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...