Не беспокойтесь, хороший способ выяснить новые вещи в Python, если ничего больше ...

ользую генераторы для выполнения поиска в списках, как этот простой пример:

>>> a = [1,2,3,4]
>>> (i for i, v in enumerate(a) if v == 4).next()
3

(Просто, чтобы привести пример в пример, я использую гораздо более длинные списки по сравнению с приведенным выше, и записи немного сложнее, чемint, Я делаю это таким образом, чтобы при каждом поиске я не просматривал все списки)

Теперь, если бы я вместо этого изменить это наi == 666, это вернетStopIteration потому что не может найти666 вход вa.

Как я могу сделать это вернутьNone вместо? Я мог бы, конечно, обернуть его вtry ... except пункт, но есть ли более питонический способ сделать это?

Ответы на вопрос(2)

Ваш ответ на вопрос