Как проверить, находится ли число в списке на Python

PythonPythonBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы научитесь проверять, существует ли число или любой другой элемент в списке на Python. Это фундаментальная операция для работы со списками и принятия решений на основе наличия элементов.

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/ErrorandExceptionHandlingGroup(["Error and Exception Handling"]) python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/DataStructuresGroup -.-> python/lists("Lists") python/ErrorandExceptionHandlingGroup -.-> python/catching_exceptions("Catching Exceptions") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/conditional_statements -.-> lab-559554{{"Как проверить, находится ли число в списке на Python"}} python/lists -.-> lab-559554{{"Как проверить, находится ли число в списке на Python"}} python/catching_exceptions -.-> lab-559554{{"Как проверить, находится ли число в списке на Python"}} python/data_collections -.-> lab-559554{{"Как проверить, находится ли число в списке на Python"}} end

Понимание принадлежности элемента списку

На этом этапе вы научитесь проверять, существует ли элемент в списке на 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". В рамках практического занятия эти концепции были продемонстрированы на примерах с использованием списка фруктов и проверкой наличия определенных элементов.