Python Glossary English

все Python 3Списки (list)понятие

in / not in для списков

поиск

Проверяет наличие элемента в списке за O(n). Возвращает bool.

Синтаксис

item in lst  |  item not in lst

Проверка линейная, так что многократный поиск внутри цикла легко даёт O(n²) — если один и тот же набор проверяется часто, переложите его в set, где проверка почти мгновенная (ценой хешируемости элементов и потери порядка). Сравнение идёт по ==, а не по типу, поэтому True и 1 считаются одним и тем же элементом. И в отличие от строк, где in ищет подстроку, у списка in ищет элемент целиком, а не подпоследовательность.

Примеры

lst = [1, 2, 3, 4, 5]
print(3 in lst)
# → True
print(6 in lst)
# → False
print(6 not in lst)
# → True
print([1, 2] in [[1, 2], [3, 4]])
# → True (сравнение подсписков)
print(None in [1, None, 3])
# → True

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности