Является ли эта распространенная практика тем, что ключ не найден в словаре
Мне было интересно, является ли следующий стиль обычной практикой, чтобы избежать того, что ключ не найден в словаре?
# default is 0
value = my_dic[100] if 100 in my_dic else 0
Ответ 1
value = my_dic.get(100, 0)
Ответ 2
Если вам нужно "значение по умолчанию" повсюду, рассмотрите defaultdict в качестве возможной альтернативы. (A factory/обратный подход предлагает хорошую гибкость с "значением по умолчанию".)
Счастливое кодирование.
Ответ 3
Если вы попытаетесь получить доступ к ключу, который отсутствует в словаре, python вызовет исключение, которое приведет к сбою вашей программы. Вместо этого вы должны "поймать" исключение и сделать что-то более изящное.
лучше поймать исключение:
try:
value = my_dic[100]
except KeyError:
print("key not found in dictionary") #or handle the error more elegantly
Это действительный синтаксис python, однако я бы сказал, что согласно Правила стиля кодирования Python Вам следует структурировать ваши инструкции if else, например,
if <condition>:
<statements>
else:
<statements>
Ответ 5
first_name = params.get('first_name', None)
if first_name:
profile.first_name = first_name