Рубрики
Без рубрики

Использовать defaultdict (), чтобы обрабатывать недостающие клавиши в словаре

Иногда у вас есть куча данных в словаре, и вы не знаете наверняка, если все ключи будут … помечены на Python, Backend, программирование, данные.

Иногда у вас есть куча данных в словаре, и вы не знаете, наверняка, если все ключи будут там.

… и вы будете обращаться с этим с:

data_dict.get('key1', 'missing')
data_dict.get('key2', 'missing')
data_dict.get('key3', 'missing')
data_dict.get('key4', 'missing')
...
...
...

В указанном выше коде, если в словаре не существует ни одного из этих клавиш, он вернет Отсутствует нить.

Лучший подход для этого может быть использование коллекции .Defaultdict ()

from collections import defaultdict

data = {'name': 'Victor', 'lastname': 'Inojosa', 'year': 1985}

def _get_default_error():
    return "Oops! MISSING"

#data = (lambda: "MISSING", data)
data = defaultdict(_get_default_error, data)

if __name__ == "__main__":
    print(data['name'])
    print(data['gender']) # Oops! MISSING
    print(data['city']) # Oops! MISSING

defaultdict Требуется Callable объект (метод без призыва). Как вы можете видеть, вы также можете использовать анонимную функцию лямбда для возврата простой строки.

Я надеюсь, что это может помочь вам в ваших проектах! Пока!

Оригинал: “https://dev.to/vijoin/use-defaultdict-to-handle-missing-keys-in-a-dictionary-5g73”