Как преобразовать словарь в словарь по умолчанию?Python

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

Сообщение Anonymous »

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

mapfile = {
1879048192: 0,
1879048193: 0,
1879048194: 0,
1879048195: 0,
1879048196: 4,
1879048197: 3,
1879048198: 2,
1879048199: 17,
1879048200: 0,
1879048201: 1,
1879048202: 0,
1879048203: 0,
1879048204: 4,
# intentionally missing byte
1879048206: 2,
1879048207: 1,
1879048208: 0 # single byte cannot make up a dword
}

_buf = {}
for x in (x for x in mapfile.keys() if 0==x%4):
try:
s = "0x{0:02x}{1:02x}{2:02x}{3:02x}".format(mapfile[x+3], mapfile[x+2],
mapfile[x+1], mapfile[x+0])
print("offset ", x, " value ", s)
_buf[x] = int(s, 16)
except KeyError as e:
print("bad key ", e)

print("_buf is ", _buf)
Поскольку я использую словарь, я получаю ошибку KeyError. План состоит в том, чтобы сделать словарь defaultdict(int), чтобы в словаре по умолчанию он дополнялся нулями при наличии KeyError. Но я не нашел никакого решения. Как мне преобразовать словарь в словарь по умолчанию?

Подробнее здесь: https://stackoverflow.com/questions/315 ... dictionary
Ответить

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

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

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

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

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