Существует несколько способов проверки наличия элемента в списке в Python:
- Использование метода index() для поиска индекса элемента в списке.
- Использование оператора in для проверки наличия элемента в списке.
- Использование метода count() для подсчета количества вхождений элемента.
- Использование функции any().
- Функция filter() создает новый список элементов на основе условий.
- Применение цикла for.
Способ 1: Использование метода index()
Чтобы найти элемент в списке Python, вы можете использовать метод list index(). Список index() — это встроенный метод, который ищет элемент в списке и возвращает его индекс.
Если один и тот же элемент присутствует более одного раза, метод возвращает индекс первого вхождения элемента.
Индекс в Python начинается с 0, а не с 1. Таким образом, через индекс мы можем найти позицию элемента в списке.
|
1 2 3 4 |
streaming = ['netflix', 'hulu', 'disney+', 'appletv+'] index = streaming.index('disney+') print('The index of disney+ is:', index) |
Выход
|
1 |
The index of disney+ is: 2 |
Метод list.index() принимает единственный аргумент, элемент, и возвращает его позицию в списке.
Способ 2: Использование «оператора in»
Используйте оператор in, чтобы проверить, есть ли элемент в списке.
|
1 2 3 4 5 6 |
main_list = [11, 21, 19, 46] if 19 in main_list: print("Element is in the list") else: print("Element is not in the list") |
Выход
|
1 |
Element is in the list |
Вы можете видеть, что элемент «19» находится в списке. Вот почему оператор in возвращает True.
Если вы проверите элемент «50», то оператор in вернет False и выполнит оператор else.
Способ 3: Использование функции count()
Метод list.count() возвращает количество вхождений данного элемента в списке.
Синтаксис
|
1 |
list.count(element) |
Метод count() принимает единственный элемент аргумента: элемент, который будет подсчитан.
Пример
|
1 2 3 4 5 6 7 8 |
main_list = [11, 21, 19, 46] count = main_list.count(21) if count > 0: print("Element is in the list") else: print("Element is not in the list") |
Выход
|
1 |
Element is in the list |
Мы подсчитываем элемент «21», используя список в этой функции example.count(), и если он больше 0, это означает, что элемент существует; в противном случае это не так.
Способ 4: использование понимания списка с any()
Any() — это встроенная функция Python, которая возвращает True, если какой-либо элемент в итерируемом объекте имеет значение True. В противном случае возвращается False.
|
1 2 3 4 5 |
main_list = [11, 21, 19, 46] output = any(item in main_list for item in main_list if item == 22) print(str(bool(output))) |
Выход
|
1 |
False |
Вы можете видеть, что в списке нет «22». Таким образом, нахождение «22» в списке вернет False функцией any(). Если функция any() возвращает True, элемент в списке существует.
Способ 5: Использование метода filter()
Метод filter() перебирает элементы списка, применяя функцию к каждому из них.
Функция filter() возвращает итератор, который перебирает элементы, когда функция возвращает значение True.
|
1 2 3 4 5 |
main_list = [11, 21, 19, 46] filtered = filter(lambda element: element == 19, main_list) print(list(filtered)) |
Выход
|
1 |
[19] |
В этом примере мы используем функцию filter(), которая принимает функцию и перечисляет ее в качестве аргумента.
Мы использовали лямбда-функцию, чтобы проверить, совпадает ли входной элемент с любым элементом из списка, и если это так, он вернет итератор. Чтобы преобразовать итератор в список в Python, используйте функцию list().
Мы использовали функцию list() для преобразования итератора, возвращаемого функцией filter(), в список.
Способ 6: Использование цикла for
Вы можете узнать, находится ли элемент в списке, используя цикл for в Python.
|
1 2 3 4 5 |
main_list = [11, 21, 19, 46] for i in main_list: if(i == 46): print("Element Exists") |
Выход
|
1 |
Element Exists |
В этом примере мы прошли список элемент за элементом, используя цикл for, и если элемент списка совпадает с входным элементом, он напечатает «Element exists».
