Нулевое объединение на элементе dict в python - PullRequest
0 голосов
/ 12 ноября 2018

Итак, я знаю, что в Python я могу сделать это:

variable_name = other_variable or 'something else'

... и это присваивает 'something else' variable_name, если other_variable ложно, и в противном случае присваивает other_variable значение variable.

Могу ли я сделать хорошую лаконичную аналогичную вещь с помощью dict:

variable_name = my_dict['keyname'] or 'something else'

... или несуществующее имя ключа будет всегда вызывать ошибку, вызывать ее сбой?

1 Ответ

0 голосов
/ 12 ноября 2018

Вы увидите KeyError, если 'keyname' не существует в вашем словаре. Вместо этого вы можете использовать:

variable_name = my_dict.get('keyname', False) or 'something else'

С этой логикой, 'something else' назначается, когда либо 'keyname' не существует, либо my_dict['keyname'] является ложью.

...