Вы можете рассмотреть возможность использования подкласса defaultdict
из модуля collections
стандартной библиотеки.Используя его, вам может даже не потребоваться повторять итерацию, так как ключи, связанные с указанным значением по умолчанию, будут создаваться при каждом первом обращении к ним.
В приведенном ниже примере кода я вставил бесплатную for
цикл для принудительного создания нескольких из них, поэтому в следующем операторе print будет что отображать.
from collections import defaultdict
dflt_dict = defaultdict(lambda:42)
# depending on what you're doing this might not be necessary...
for k in xrange(0,10):
dflt_dict[k] # accessing any key adds it with the specified default value
print dflt_dict.items()
# [(0, 42), (1, 42), (2, 42), (3, 42), ... (6, 42), (7, 42), (8, 42), (9, 42)]