- Как просто найти элемент в списке Python
- Способ 1: Использование метода index()
- Способ 2: Использование «оператора in»
- Способ 3: Использование функции count()
- Синтаксис
- Пример
- Способ 4: использование понимания списка с any()
- Способ 5: Использование метода filter()
- Способ 6: Использование цикла for
- Как проверить, есть ли элемент в списке
- Проверяем, есть ли элемент в списке, при помощи оператора in
- Использование цикла for для проверки наличия элемента в списке
- Как проверить, есть ли элемент в списке, при помощи функции any()
- Проверяем наличие элемента в списке при помощи метода count()
- Итоги
- Python: Проверьте, Содержит ли Массив/Список Элемент/Значение
- Python: Проверьте, Содержит ли Массив/Список Элемент/Значение
- Вступление
- Проверьте, Содержит Ли Список Элемент С Циклом for
- Проверьте, Содержит Ли Список Элемент С Оператором in
- Проверьте, Содержит Ли Список Элемент С Оператором not in
- Проверьте, Содержит Ли Список Элемент С Лямбдой
- Проверьте, Содержит ли Список Элемент, Используя любой()
- Проверьте, Содержит Ли Список Элемент, Используя count()
- Вывод
- Читайте ещё по теме:
Как просто найти элемент в списке Python
Существует несколько способов проверки наличия элемента в списке в Python:
- Использование метода index() для поиска индекса элемента в списке.
- Использование оператора in для проверки наличия элемента в списке.
- Использование метода count() для подсчета количества вхождений элемента.
- Использование функции any().
- Функция filter() создает новый список элементов на основе условий.
- Применение цикла for.
Способ 1: Использование метода index()
Чтобы найти элемент в списке Python, вы можете использовать метод list index(). Список index() — это встроенный метод, который ищет элемент в списке и возвращает его индекс.
Если один и тот же элемент присутствует более одного раза, метод возвращает индекс первого вхождения элемента.
Индекс в Python начинается с 0, а не с 1. Таким образом, через индекс мы можем найти позицию элемента в списке.
Метод list.index() принимает единственный аргумент, элемент, и возвращает его позицию в списке.
Способ 2: Использование «оператора in»
Используйте оператор in, чтобы проверить, есть ли элемент в списке.
Вы можете видеть, что элемент «19» находится в списке. Вот почему оператор in возвращает True.
Если вы проверите элемент «50», то оператор in вернет False и выполнит оператор else.
Способ 3: Использование функции count()
Метод list.count() возвращает количество вхождений данного элемента в списке.
Синтаксис
Метод count() принимает единственный элемент аргумента: элемент, который будет подсчитан.
Пример
Мы подсчитываем элемент «21», используя список в этой функции example.count(), и если он больше 0, это означает, что элемент существует; в противном случае это не так.
Способ 4: использование понимания списка с any()
Any() — это встроенная функция Python, которая возвращает True, если какой-либо элемент в итерируемом объекте имеет значение True. В противном случае возвращается False.
Вы можете видеть, что в списке нет «22». Таким образом, нахождение «22» в списке вернет False функцией any(). Если функция any() возвращает True, элемент в списке существует.
Способ 5: Использование метода filter()
Метод filter() перебирает элементы списка, применяя функцию к каждому из них.
Функция filter() возвращает итератор, который перебирает элементы, когда функция возвращает значение True.
В этом примере мы используем функцию filter(), которая принимает функцию и перечисляет ее в качестве аргумента.
Мы использовали лямбда-функцию, чтобы проверить, совпадает ли входной элемент с любым элементом из списка, и если это так, он вернет итератор. Чтобы преобразовать итератор в список в Python, используйте функцию list().
Мы использовали функцию list() для преобразования итератора, возвращаемого функцией filter(), в список.
Способ 6: Использование цикла for
Вы можете узнать, находится ли элемент в списке, используя цикл for в Python.
Как проверить, есть ли элемент в списке
В Python списки играют роль контейнеров, которые могут хранить любые типы данных в виде коллекции. В 32-битной системе список может содержать до 536 870 912 элементов. Поэтому иногда бывает трудно определить, есть ли определенный элемент в списке.
Проверка наличия элемента в списке является одной из основных операций со списком в Python. Не удивительно, что подобные проверки можно осуществлять разными способами. В этой статье мы рассмотрим некоторые из них.
От редакции Pythonist: если хотите побольше узнать о списках, почитайте статью «Списки в Python: полное руководство для начинающих».
Проверяем, есть ли элемент в списке, при помощи оператора in
Самый удобный способ проверить, содержит ли список определенный элемент, — это воспользоваться оператором in . Этот оператор возвращает True, если элемент есть, и False, если его нет. При этом список не сортируется.
В приведенном ниже примере показано, как применяется оператор in в условном блоке:
name_list = ["Adam", "Dean", "Harvey", "Mick", "John"] if "John" in name_list: print("'John' is found in the list") else: print("'John' is not found in the list") if 'Ned' in name_list: print("'Ned' is found in the list") else: print("'Ned' is not found in the list") # Результат: # 'John' is found in the list # 'Ned' is not found in the list
От редакции Pythonist: об операторе in , его паре not in и прочих операторах можно почитать в статье «Операторы в Python».
Использование цикла for для проверки наличия элемента в списке
Проверить, есть ли элемент в списке, можно и при помощи цикла. Этот способ также довольно прост. Цикл будет по очереди сопоставлять каждый элемент списка с искомым элементом и остановится только в случае совпадения или полного отсутствия совпадения. Пример:
name_list = ["Adam", "Dean", "Harvey", "Mick", "John"] for name in name_list: if name == 'Adam': print("Found the element") # Результат: # Found the element
Как проверить, есть ли элемент в списке, при помощи функции any()
Встроенная функция any() проверяет, оценивается ли хоть один элемент в последовательности как True.
С помощью этой функции мы можем проверить, есть ли в строке подстрока, совпадающая с каким-нибудь элементом списка.
Приведенный ниже пример показывает, как работает функция any() . Мы проверяем, содержит ли строка «Adam lives in New York» какое-нибудь из имен, хранящихся в списке из первой строки.
name_list = ["Adam", "Dean", "Harvey", "Mick", "John"] string = "Adam lives in New York" print("The original list is: " + str(name_list)) print("The original string is: " + string) result = any(item in string for item in name_list) print("Does the string contain any name from the list: " + str(result)) # Результат: # The original list is: ['Adam', 'Dean', 'Harvey', 'Mick', 'John'] # The original string is: Adam lives in New York # Does the string contain any name from the list: True
Проверяем наличие элемента в списке при помощи метода count()
Встроенный метод count() возвращает количество вхождений указанного элемента в списке. Если элемента в списке нет, то count() вернет 0. Если возвращается целое положительное число больше 0, это означает, что список содержит элемент.
name_list = ["Adam", "Dean", "Harvey", "Mick", "John"] result = name_list.count("Harvey") if result > 0: print("Harvey exists in the list") else: print("Harvey does not exist in the list") # Результат: # Harvey exists in the list
Итоги
В этой статье мы рассмотрели на примерах, как проверить, есть ли элемент в списке. Для проверок мы использовали оператор in , цикл for , методы any() и count() .
Python: Проверьте, Содержит ли Массив/Список Элемент/Значение
В этом уроке мы рассмотрим, как проверить, содержит ли список Python элемент или значение. Мы будем использовать несколько подходов с примерами и сравнением производительности.
Python: Проверьте, Содержит ли Массив/Список Элемент/Значение
Вступление
В этом уроке мы рассмотрим как проверить, содержит ли список элемент или значение в Python . Мы будем использовать список строк, содержащих несколько животных:
animals = ['Dog', 'Cat', 'Bird', 'Fish']
Проверьте, Содержит Ли Список Элемент С Циклом for
Простой и рудиментарный метод проверки, содержит ли список элемент, проходит через него и проверяет, соответствует ли элемент, на котором мы находимся, тому, который мы ищем. Давайте используем для этого цикл for :
for animal in animals: if animal == 'Bird': print('Chirp!')
Проверьте, Содержит Ли Список Элемент С Оператором in
Теперь более лаконичным подходом было бы использование встроенного оператора in , но с оператором if вместо оператора for . В паре с if он возвращает True если элемент существует в последовательности или нет. Синтаксис оператора in выглядит следующим образом:
Используя этот оператор, мы можем сократить наш предыдущий код в один оператор:
if 'Bird' in animals: print('Chirp')
Этот фрагмент кода выведет следующее:
Этот подход имеет ту же эффективность, что и цикл for , поскольку оператор in , используемый таким образом, вызывает функцию list.__contains__ , которая по своей сути циклически проходит через список – хотя это гораздо более читабельно.
Проверьте, Содержит Ли Список Элемент С Оператором not in
Напротив, мы можем использовать оператор not in , который является логической противоположностью оператору in . Он возвращает True , если элемент не присутствует в последовательности.
Давайте перепишем предыдущий пример кода, чтобы использовать оператор not in :
if 'Bird' not in animals: print('Chirp')
Запуск этого кода ничего не даст, так как Bird присутствует в нашем списке.
Но если мы попробуем это сделать с Волком :
if 'Wolf' not in animals: print('Howl')
Проверьте, Содержит Ли Список Элемент С Лямбдой
Еще один способ проверить, присутствует ли элемент, – отфильтровать все, кроме этого элемента, точно так же, как просеять песок и проверить, остались ли в конце какие-нибудь раковины. Встроенный метод filter() принимает в качестве аргументов лямбда-функцию и список. Здесь мы можем использовать лямбда-функцию для проверки нашей строки ‘Bird’ в списке animals .
Затем мы оборачиваем результаты в list () , так как метод filter() возвращает объект filter , а не результаты. Если мы упакуем объект filter в список, он будет содержать элементы, оставшиеся после фильтрации:
retrieved_elements = list(filter(lambda x: 'Bird' in x, animals)) print(retrieved_elements)
Сейчас этот подход не самый эффективный. Это довольно медленнее, чем предыдущие три подхода, которые мы использовали. Сам метод filter() эквивалентен функции генератора:
(item for item in iterable if function(item))
Замедление производительности этого кода, помимо всего прочего, происходит из-за того, что мы преобразуем результаты в список в конце концов, а также выполняем функцию для элемента на каждой итерации.
Проверьте, Содержит ли Список Элемент, Используя любой()
Еще один отличный встроенный подход заключается в использовании функции any () , которая является просто вспомогательной функцией, которая проверяет, есть ли any (по крайней мере 1) экземпляры элемента в списке. Он возвращает True или False в зависимости от наличия или отсутствия элемента:
if any(element in 'Bird' for element in animals): print('Chirp')
Поскольку это приводит к True , наш оператор print() называется:
Этот подход также является эффективным способом проверки наличия элемента. Он так же эффективен, как и первые три.
Проверьте, Содержит Ли Список Элемент, Используя count()
Наконец, мы можем использовать функцию count () , чтобы проверить, присутствует ли элемент или нет:
Эта функция возвращает вхождение данного элемента в последовательность. Если он больше 0, мы можем быть уверены, что данный элемент находится в списке.
Давайте проверим результаты функции count() :
if animals.count('Bird') > 0: print("Chirp")
Функция count() по своей сути зацикливает список для проверки количества вхождений, и этот код приводит к:
Вывод
В этом уроке мы рассмотрели несколько способов проверить, присутствует ли элемент в списке или нет. Мы использовали операторы for loop, in и not in , а также методы filter() , any() и count () .