Блог

Python: найти элемент в списке

Прежде всего, взглянем на то, почему некоторые из наиболее распространенных методов поиска не отвечают.

list.index(), работает только для элементов, которые имеют предопределенных функций равенство (примитивных типов или пользовательских классов)

Списков (например, [ i for in list if … ]) велики, коснуться каждого члена списка, так что, не так быстро. filter() также имеет тот же вопрос.

Многие ссылаются на методы как описаны у Ryan Tomayko, но желаю стремиться к простоте.

Генератор выражение, короткая и по существу:

(i for i in list if ... ).next()

По сути, биты в скобках создает итератор, который дает контролировать каждый раз, если, выполняется успешно, next() спрашивает, что итератор для одного значения.