Введение
В этом практическом занятии (лабораторной работе) вы научитесь проверять, существует ли число или любой другой элемент в списке на Python. Это фундаментальная операция для работы со списками и принятия решений на основе наличия элементов.
В этом практическом занятии (лабораторной работе) показано, как использовать оператор in для проверки принадлежности элемента списку, а также продемонстрирована его регистрозависимость. Вы создадите список фруктов и используете оператор in для проверки наличия определенных фруктов, в том числе тех, которые есть в списке, которых нет и которые отличаются только регистром букв. Вы также научитесь использовать метод index() для определения позиции элемента в списке.
Понять принадлежность элемента списку
На этом этапе вы научитесь проверять, существует ли элемент в списке на Python. Это фундаментальная операция при работе со списками и часто используется для принятия решений на основе наличия или отсутствия определенных элементов.
Python предоставляет удобный оператор in для проверки принадлежности. Оператор in возвращает True, если элемент найден в списке, и False в противном случае.
Начнем с создания списка фруктов:
fruits = ["apple", "banana", "orange", "grape"]
Теперь используем оператор in для проверки, есть ли "apple" в списке fruits. Создайте файл с именем membership.py в директории ~/project с помощью редактора VS Code:
## ~/project/membership.py
fruits = ["apple", "banana", "orange", "grape"]
print("apple" in fruits)
Сохраните файл и запустите его с помощью следующей команды в терминале:
python ~/project/membership.py
Вы должны увидеть следующий вывод:
True
Это показывает, что "apple" действительно является элементом списка fruits.
Теперь проверим наличие элемента, которого нет в списке, например, "kiwi":
Измените файл membership.py для проверки наличия "kiwi":
## ~/project/membership.py
fruits = ["apple", "banana", "orange", "grape"]
print("kiwi" in fruits)
Сохраните файл и запустите его снова:
python ~/project/membership.py
Вы должны увидеть следующий вывод:
False
Это подтверждает, что "kiwi" не является элементом списка fruits.
Оператор in чувствителен к регистру. Это означает, что "Apple" отличается от "apple". Продемонстрируем это:
Измените файл membership.py:
## ~/project/membership.py
fruits = ["apple", "banana", "orange", "grape"]
print("Apple" in fruits)
Сохраните файл и запустите его:
python ~/project/membership.py
Вы должны увидеть:
False
Даже несмотря на то, что "apple" есть в списке, "Apple" (с заглавной буквы "A") отсутствует.
Вы также можете использовать оператор not in для проверки, отсутствует ли элемент в списке. Например:
Измените файл membership.py:
## ~/project/membership.py
fruits = ["apple", "banana", "orange", "grape"]
print("kiwi" not in fruits)
Сохраните файл и запустите его:
python ~/project/membership.py
Вывод будет следующим:
True
Это происходит потому, что "kiwi" отсутствует в списке fruits.
Понимание принадлежности элементов списку является важной частью написания условных операторов и управления потоком выполнения ваших программ на Python.
Использовать оператор in
На предыдущем этапе вы изучили основы проверки принадлежности элемента списку и узнали, как проверить, существует ли элемент в списке с помощью оператора in. На этом этапе мы рассмотрим более практические применения оператора in, в том числе его использование в условных операторах для управления потоком выполнения программы.
Оператор in особенно полезен в операторах if. Вы можете использовать его для выполнения определенных блоков кода только в том случае, если определенный элемент присутствует (или отсутствует) в списке.
Продолжим с примером списка fruits. Предположим, вы хотите вывести сообщение только в том случае, если "banana" есть в списке. Создайте файл с именем in_operator.py в директории ~/project:
## ~/project/in_operator.py
fruits = ["apple", "banana", "orange", "grape"]
if "banana" in fruits:
print("Yes, banana is in the list")
Сохраните файл и запустите его:
python ~/project/in_operator.py
Вы должны увидеть следующий вывод:
Yes, banana is in the list
Оператор if проверяет, есть ли "banana" в списке fruits. Если есть, то выполняется код внутри блока if (оператор print).
Теперь добавим блок else для обработки случая, когда элемент отсутствует в списке:
Измените файл in_operator.py:
## ~/project/in_operator.py
fruits = ["apple", "banana", "orange", "grape"]
if "kiwi" in fruits:
print("Yes, kiwi is in the list")
else:
print("No, kiwi is not in the list")
Сохраните файл и запустите его:
python ~/project/in_operator.py
Вы должны увидеть следующий вывод:
No, kiwi is not in the list
Поскольку "kiwi" отсутствует в списке fruits, выполняется код внутри блока else.
Вы также можете использовать оператор not in в операторах if. Например:
Измените файл in_operator.py:
## ~/project/in_operator.py
fruits = ["apple", "banana", "orange", "grape"]
if "kiwi" not in fruits:
print("kiwi is not in the list")
Сохраните файл и запустите его:
python ~/project/in_operator.py
Вывод будет следующим:
kiwi is not in the list
Это демонстрирует, как можно использовать операторы in и not in для создания более сложной логики в программах на Python. Эти операторы являются важными инструментами при работе со списками и принятии решений на основе их содержимого.
Определить позицию с помощью метода index()
На предыдущих этапах вы узнали, как проверить, существует ли элемент в списке с помощью оператора in. Теперь вы узнаете, как найти позицию (индекс) элемента в списке с помощью метода index().
Метод index() возвращает индекс первого вхождения указанного значения в списке. Важно отметить, что если элемент не найден в списке, метод index() вызовет исключение ValueError.
Продолжим с примером списка fruits. Предположим, вы хотите найти индекс "banana" в списке. Создайте файл с именем index_method.py в директории ~/project:
## ~/project/index_method.py
fruits = ["apple", "banana", "orange", "grape"]
index = fruits.index("banana")
print(index)
Сохраните файл и запустите его:
python ~/project/index_method.py
Вы должны увидеть следующий вывод:
1
Это показывает, что "banana" находится по индексу 1 в списке fruits. Помните, что списки в Python имеют нулевой индекс, то есть первый элемент находится по индексу 0, второй — по индексу 1 и так далее.
Теперь попробуем найти индекс элемента, которого нет в списке, например, "kiwi":
Измените файл index_method.py:
## ~/project/index_method.py
fruits = ["apple", "banana", "orange", "grape"]
index = fruits.index("kiwi")
print(index)
Сохраните файл и запустите его:
python ~/project/index_method.py
Вы должны увидеть сообщение об ошибке, похожее на следующее:
Traceback (most recent call last):
File "/home/labex/project/index_method.py", line 3, in <module>
index = fruits.index("kiwi")
ValueError: 'kiwi' is not in list
Это исключение ValueError показывает, что "kiwi" не найден в списке.
Чтобы избежать этой ошибки, хорошей практикой является сначала проверить, существует ли элемент в списке с помощью оператора in, прежде чем использовать метод index().
Вот как это можно сделать:
Измените файл index_method.py:
## ~/project/index_method.py
fruits = ["apple", "banana", "orange", "grape"]
if "kiwi" in fruits:
index = fruits.index("kiwi")
print(index)
else:
print("kiwi is not in the list")
Сохраните файл и запустите его:
python ~/project/index_method.py
Вы должны увидеть следующий вывод:
kiwi is not in the list
Этот код сначала проверяет, есть ли "kiwi" в списке fruits. Если есть, он находит индекс и выводит его. В противном случае он выводит сообщение, указывающее, что "kiwi" отсутствует в списке, предотвращая исключение ValueError.
Метод index() — полезный инструмент для нахождения позиции элементов в списке, но важно обрабатывать случай, когда элемент может отсутствовать, чтобы избежать ошибок.
Резюме
В этом практическом занятии (лабораторной работе) вы узнали, как проверить, существует ли элемент в списке на Python с помощью оператора in. Оператор in возвращает True, если элемент найден в списке, и False в противном случае.
Вы также узнали, что оператор in чувствителен к регистру, то есть "Apple" отличается от "apple". В рамках практического занятия эти концепции были продемонстрированы на примерах с использованием списка фруктов и проверкой наличия определенных элементов.



