Так что defaultdict documentation упоминает, что если элемент отсутствует, значение, возвращаемое default_factory
, «вставляется в словарь для ключа и возвращается». Это здорово в большинстве случаев, но в этом случае я хочу, чтобы значение возвращалось, но не вставляется в defaultdict.Python defaultdict, который не вставляет отсутствующие значения
Я понял, что мог бы, вероятно, подкласса defaultdict и переопределить ... Думаю, __missing__
? Не уверен. Каков наилучший способ сделать это?
Заранее спасибо.
Это замечательно. Я, вероятно, поеду с маршрутом defaultdict, чтобы получить поддержку копирования. Благодаря! – Chad
Могу ли я установить значение по умолчанию для 'd.pop (" unloaded_key ")'? – lerner
@Lerner: 'dict.pop()' принимает второй аргумент для значения по умолчанию. 'dict.pop()' will * not * consult '__missing__', как и большинство других методов; только 'dict .__ getitem__' делает (так' d [missingkey] '). –