Нет выражений для работы с исключениями (хотя есть отклоненный PEP , который пытался ввести одно). Однако во-первых, вы можете избежать исключения.
name = names[2:0:-1][0] # At the cost of making a small temporary list object
Предполагая, что names
имеет как минимум 2 значения, срез создает список, первый элемент которого либо names[2]
, либо names[1]
, в зависимости от того, сколько элементов names
на самом деле имеет. Какой бы ни был первый элемент среза, извлекается с использованием [0]
.
Также нет эквивалента dict.get
, который позволил бы вам написать что-то вроде names.get(2, names[1])
, хотя это предполагает, что, возможно, ваш список должен быть dict
или чем-то более структурированным c.