Введение
В этом практическом занятии (lab) вы научитесь проверять, содержит ли список определенный элемент на Python, что является фундаментальной операцией для принятия решений на основе наличия или отсутствия элементов. Мы в основном будем использовать оператор in для определения принадлежности элемента списку.
Вы начнете с создания списка фруктов, а затем используете оператор in для проверки наличия определенных фруктов, таких как "banana" (банан) и "grape" (виноград). В практическом занятии показано, как оператор in возвращает True, если элемент найден, и False в противном случае. Кроме того, вы изучите использование оператора not in для проверки отсутствия элемента в списке.
Понять принадлежность элемента списку
На этом этапе вы научитесь проверять, существует ли элемент в списке на Python. Это фундаментальная операция при работе со списками и часто используется для принятия решений на основе наличия или отсутствия определенных элементов. Мы будем использовать оператор in для этого.
Сначала создадим список фруктов:
fruits = ["apple", "banana", "cherry"]
Эта строка кода создает список с именем fruits, содержащий три строковых элемента: "apple" (яблоко), "banana" (банан) и "cherry" (вишня).
Теперь используем оператор in для проверки, есть ли "banana" в списке fruits. Создайте файл с именем membership.py в директории ~/project с помощью редактора VS Code. Добавьте следующий код в файл membership.py:
fruits = ["apple", "banana", "cherry"]
print("banana" in fruits)
Сохраните файл. Теперь выполните скрипт, используя следующую команду в терминале:
python membership.py
Вывод будет следующим:
True
Это показывает, что "banana" действительно присутствует в списке fruits.
Теперь проверим, есть ли "grape" (виноград) в списке fruits. Измените файл membership.py следующим образом:
fruits = ["apple", "banana", "cherry"]
print("grape" in fruits)
Сохраните файл и выполните его снова:
python membership.py
Вывод будет следующим:
False
Это показывает, что "grape" отсутствует в списке fruits.
Оператор in возвращает True, если элемент найден в списке, и False в противном случае. Это простой, но мощный способ определить принадлежность элемента списку на Python.
Вы также можете использовать оператор not in для проверки, отсутствует ли элемент в списке. Например:
fruits = ["apple", "banana", "cherry"]
print("grape" not in fruits)
Сохраните файл и выполните его:
python membership.py
Вывод будет следующим:
True
Это происходит потому, что "grape" отсутствует в списке fruits, поэтому выражение "grape" not in fruits оценивается как True.
Использование оператора in
На предыдущем этапе вы изучили основы проверки принадлежности элемента списку с использованием оператора in. На этом этапе мы рассмотрим более практические применения оператора in с разными типами данных и сценариями.
Оператор in не ограничивается только списками. Его также можно использовать с другими итерируемыми типами данных, такими как строки и кортежи (tuples).
Использование in с строками:
Вы можете проверить, существует ли подстрока в более длинной строке. Создайте файл с именем string_membership.py в директории ~/project с помощью редактора VS Code. Добавьте следующий код в файл string_membership.py:
text = "Hello, world!"
print("world" in text)
Сохраните файл. Теперь выполните скрипт, используя следующую команду в терминале:
python string_membership.py
Вывод будет следующим:
True
Это показывает, что подстрока "world" присутствует в строке "Hello, world!".
Попробуем проверить наличие подстроки, которая не существует:
text = "Hello, world!"
print("python" in text)
Сохраните файл и выполните его снова:
python string_membership.py
Вывод будет следующим:
False
Это показывает, что подстрока "python" отсутствует в строке "Hello, world!".
Использование in с кортежами (tuples):
Кортежи (tuples) похожи на списки, но они неизменяемы (не могут быть изменены после создания). Вы также можете использовать оператор in с кортежами. Создайте файл с именем tuple_membership.py в директории ~/project с помощью редактора VS Code. Добавьте следующий код в файл tuple_membership.py:
numbers = (1, 2, 3, 4, 5)
print(3 in numbers)
Сохраните файл. Теперь выполните скрипт, используя следующую команду в терминале:
python tuple_membership.py
Вывод будет следующим:
True
Это показывает, что число 3 присутствует в кортеже numbers.
Проверим наличие числа, которое не существует:
numbers = (1, 2, 3, 4, 5)
print(6 in numbers)
Сохраните файл и выполните его снова:
python tuple_membership.py
Вывод будет следующим:
False
Это показывает, что число 6 отсутствует в кортеже numbers.
Эти примеры демонстрируют универсальность оператора in в Python. Его можно использовать для проверки принадлежности элемента различным итерируемым типам данных, что делает его ценным инструментом для написания компактного и читаемого кода.
Найти индекс с помощью метода index()
На этом этапе вы научитесь находить индекс элемента в списке с использованием метода index(). Этот метод полезен, когда вам нужно узнать позицию определенного элемента в списке.
Начнем с того же списка fruits, который мы использовали на предыдущих этапах. Создайте файл с именем find_index.py в директории ~/project с помощью редактора VS Code. Добавьте следующий код в файл find_index.py:
fruits = ["apple", "banana", "cherry"]
index_of_banana = fruits.index("banana")
print(index_of_banana)
Сохраните файл. Теперь выполните скрипт, используя следующую команду в терминале:
python find_index.py
Вывод будет следующим:
1
Это показывает, что "banana" находится по индексу 1 в списке fruits. Помните, что списки в Python имеют нулевой индекс, то есть первый элемент находится по индексу 0, второй — по индексу 1 и так далее.
Теперь попробуем найти индекс элемента, который не существует в списке:
fruits = ["apple", "banana", "cherry"]
index_of_grape = fruits.index("grape")
print(index_of_grape)
Сохраните файл и выполните его снова:
python find_index.py
Вывод будет следующим:
Traceback (most recent call last):
File "/home/labex/project/find_index.py", line 2, in <module>
index_of_grape = fruits.index("grape")
ValueError: 'grape' is not in list
Это вызывает ошибку ValueError, потому что "grape" не найден в списке fruits. Важно обрабатывать эту потенциальную ошибку при использовании метода index(). Вы можете использовать оператор in для проверки существования элемента в списке перед вызовом метода index(), чтобы избежать ошибки ValueError.
Вот пример того, как обработать ошибку ValueError:
fruits = ["apple", "banana", "cherry"]
item_to_find = "grape"
if item_to_find in fruits:
index_of_item = fruits.index(item_to_find)
print(f"{item_to_find} is at index {index_of_item}")
else:
print(f"{item_to_find} is not in the list")
Сохраните файл и выполните его:
python find_index.py
Вывод будет следующим:
grape is not in the list
Этот код сначала проверяет, существует ли item_to_find в списке fruits с помощью оператора in. Если он существует, он находит индекс и выводит его. В противном случае он выводит сообщение, указывающее, что элемент отсутствует в списке. Такой подход предотвращает ошибку ValueError и делает ваш код более надежным.
Резюме
В этом практическом занятии (lab) вы научились проверять наличие определенных элементов в списке Python. Основной метод заключается в использовании оператора in, который возвращает True, если элемент присутствует в списке, и False в противном случае. Вы также изучили оператор not in, который выполняет обратную функцию, возвращая True, если элемент не найден в списке.
В рамках практического занятия были продемонстрированы эти концепции на примере списка фруктов, показано, как проверить принадлежность различных строк к списку с использованием как оператора in, так и оператора not in. Примеры содержат ясные и компактные фрагменты кода, которые можно легко адаптировать для различных проверок принадлежности элементов списку в Python.



