Как преобразовать словарь в словарь по умолчанию?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

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