На этом шаге мы рассмотрим, как определить принадлежность элемента коллекции.
Для проверки того, содержит ли множество, список или ассоциативный массив определенный элемент, служит ключевое слово in (пример 1.9).
(1) print(42 in [2, 39, 42]) # True (2) print("21" in {"2", "39", "42"}) #False print("list" in {"list": [1, 2, 3], "set": {1, 2, 3}}) #True
С помощью ключевого слова in можно выяснить, содержится ли целочисленное значение 42 (1) в списке целочисленных значений, или проверить принадлежность строкового значения "21" множеству строковых значений (2). Если х встречается в коллекции y, то мы будем говорить, что х - элемент коллекции y.
Проверка принадлежности элемента множеству выполняется быстрее, чем проверка принадлежности элемента списку: чтобы проверить наличие элемента x в списке y, необходимо обходить весь список до тех пор, пока не будет найден элемент x или не будут проверены все элементы. Множества же реализованы аналогично ассоциативным массивам: для проверки наличия элемента x в множестве у Python "под капотом" выполняет одну операцию y[hash(x)] и проверяет, не равно ли None возвращаемое значение.
На следующем шаге мы рассмотрим списковые включения и включения множеств.