Вы можете использовать метод фильтра:
>>> lst = [1, 2, 3, 4, 5]
>>> filter(lambda x: x % 2 == 0, lst)
[2, 4]
или понимание списка:
>>> lst = [1, 2, 3, 4, 5]
>>> [x for x in lst if x %2 == 0]
[2, 4]
РЕДАКТИРОВАТЬ: для поиска (один элемент), вы можете попробовать:
>>> next(x for x in lst if x % 2 == 0)
2
Хотя это приведет к исключению, если ничего не будет совпадать, так что вы, вероятно, захотите обернуть его в try / catch. Скобки () делают это выражением-генератором, а не списком.
Лично я бы просто использовал обычный фильтр / понимание и взял бы первый элемент (если он есть).
Они вызывают исключение, если ничего не найдено
filter(lambda x: x % 2 == 0, lst)[0]
[x for x in lst if x %2 == 0][0]
Они возвращают пустые списки
filter(lambda x: x % 2 == 0, lst)[:1]
[x for x in lst if x %2 == 0][:1]