Как использовать запись через точку и квадратные скобки в качестве строкового ключа для доступа к вложенной структуре слPython

Программы на Python
Ответить
Anonymous
 Как использовать запись через точку и квадратные скобки в качестве строкового ключа для доступа к вложенной структуре сл

Сообщение Anonymous »

Предположим, у меня есть вложенный словарь, который выглядит примерно так:

Код: Выделить всё

{
"a": 1,
"b": 2,
"c": 3,
"d": {
"e": 4,
"f": 5
},
"g": [{
"h": 6,
"i": 7
},
{
"h": 8,
"i": 9
}]
}
Однако мне предоставили строковый ключ в форме точечной записи. Если ключ, например, key = "d.e", как я могу использовать его, чтобы получить значение 4 из приведенного выше словаря? Аналогично, для вложенного объекта, который представляет собой массив диктовок, я хотел бы сделать то же самое для доступа к g[0].h и g[1].h.
Я не хочу конвертировать словарь, как в разделе «Как использовать точку «." получить доступ к членам словаря? Я хочу сохранить использование строки в качестве ключа для доступа к объектам.
Я пробовал использовать функцию уменьшения, как в разделе «Проверка вложенный словарь, использующий строку точечной записи «abcde», автоматически создает недостающие уровни по OP или значению вложенного словаря из ключевого пути, но не обрабатывает вложенные массивы.

Подробнее здесь: https://stackoverflow.com/questions/791 ... -nested-di
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»