Python, как установить ключ dict как 01, 02, 03... при использовании dpath?Python

Программы на Python
Ответить
Anonymous
 Python, как установить ключ dict как 01, 02, 03... при использовании dpath?

Сообщение Anonymous »

Предположим, мы хотим создать/поддерживать словарь с приведенной ниже структурой ключей

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

{
"a": {"bb": {"01": "some value 01",
"02": "some value 02",
} },
}
Для этого мы используем dpath .new(), как показано ниже.

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

import dpath

d=dict()                          ; print(d)  # d={}
dpath.new(d,'a/bb/00/c', '00val') ; print(d)  # d={'a': {'bb': [{'c': '00val'}]}}
#                                         d   # NOTE this will set :bb as a list, and set at bb[00] ie idx=0 of list bb
#                                         d   # what we want instead is d={'a': {'bb': {'00': {'c': '00val'} }}}
#                                         d   # what we want is NOT     d={'a': {'bb': [      {'c': '00val'} ]}}
Поэтому при использовании 00 в пути dpath преобразует его в индекс списка с номером 0 вместо ключа dict 00
Вопрос в том, как установить ключ 00? В настоящее время мне приходится уклоняться от этого, устанавливая префикс s т.е. s00 s01 s02

Подробнее здесь: https://stackoverflow.com/questions/792 ... sing-dpath
Ответить

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

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

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

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

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