- Rukovodstvo
- статьи и идеи для разработчиков программного обеспечения и веб-разработчиков.
- Python: проверьте, содержит ли массив / список элемент / значение
- Введение В этом руководстве мы рассмотрим, как проверить, содержит ли список элемент или значение в Python. Мы будем использовать список строк, содержащий несколько животных: animals = ['Dog', 'Cat', 'Bird', 'Fish'] Проверить, содержит ли список элемент с циклом for. Простой и элементарный метод проверки наличия list содержит элемент, который проходит через него и проверяет, соответствует ли элемент, на котором мы находимся, тому, который мы ищем. Давайте использовать для этого цикл for: для животных в животных: if animal == 'Bird
- Вступление
- Проверьте, содержит ли список элемент с циклом for
- Проверьте, содержит ли список элемент с оператором in
- Проверьте, содержит ли список элемент, не в операторе
- Проверьте, содержит ли список элемент с лямбда
- Проверьте, содержит ли список элемент с помощью any ()
- Проверьте, содержит ли список элемент, используя count ()
- Заключение
- Python: Проверьте, Содержит ли Массив/Список Элемент/Значение
- Python: Проверьте, Содержит ли Массив/Список Элемент/Значение
- Вступление
- Проверьте, Содержит Ли Список Элемент С Циклом for
- Проверьте, Содержит Ли Список Элемент С Оператором in
- Проверьте, Содержит Ли Список Элемент С Оператором not in
- Проверьте, Содержит Ли Список Элемент С Лямбдой
- Проверьте, Содержит ли Список Элемент, Используя любой()
- Проверьте, Содержит Ли Список Элемент, Используя count()
- Вывод
- Читайте ещё по теме:
- Как просто найти элемент в списке Python
- Способ 1: Использование метода index()
- Способ 2: Использование «оператора in»
- Способ 3: Использование функции count()
- Синтаксис
- Пример
- Способ 4: использование понимания списка с any()
- Способ 5: Использование метода filter()
- Способ 6: Использование цикла for
Rukovodstvo
статьи и идеи для разработчиков программного обеспечения и веб-разработчиков.
Python: проверьте, содержит ли массив / список элемент / значение
Введение В этом руководстве мы рассмотрим, как проверить, содержит ли список элемент или значение в Python. Мы будем использовать список строк, содержащий несколько животных: animals = ['Dog', 'Cat', 'Bird', 'Fish'] Проверить, содержит ли список элемент с циклом for. Простой и элементарный метод проверки наличия list содержит элемент, который проходит через него и проверяет, соответствует ли элемент, на котором мы находимся, тому, который мы ищем. Давайте использовать для этого цикл for: для животных в животных: if animal == 'Bird
Вступление
В этом руководстве мы рассмотрим, как проверить, содержит ли список элемент или значение в Python . Мы будем использовать список строк, содержащий несколько животных:
animals = ['Dog', 'Cat', 'Bird', 'Fish']
Проверьте, содержит ли список элемент с циклом for
Простой и элементарный метод проверки, содержит ли список элемент, проходит через него и проверяет, соответствует ли элемент, на котором мы находимся, тому, который мы ищем. Давайте использовать for петли для этого:
for animal in animals: if animal == 'Bird': print('Chirp!')
Проверьте, содержит ли список элемент с оператором in
Теперь, более succint подход будет использовать встроенные in операторе, но с if заявлением вместо того , for утверждения. В паре с if он возвращает True если элемент существует в последовательности или нет. Синтаксис in выглядит так:
Используя этот оператор, мы можем сократить наш предыдущий код до одного оператора:
if 'Bird' in animals: print('Chirp')
Этот фрагмент кода выведет следующее:
Этот подход имеет ту же эффективность, что и for , поскольку in , используемый таким образом, вызывает list.__contains__ , которая по своей сути выполняет цикл по списку, хотя она намного более читабельна.
Проверьте, содержит ли список элемент, не в операторе
Напротив, мы можем использовать not in , который является логической противоположностью оператора in Она возвращает True , если элемент не присутствует в последовательности.
Давайте перепишем предыдущий пример кода, чтобы использовать оператор not in
if 'Bird' not in animals: print('Chirp')
Выполнение этого кода ничего не даст, поскольку Bird присутствует в нашем списке.
Но если мы попробуем это с Wolf :
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 in и not in , а также методы filter() , any() и count()
Licensed under CC BY-NC-SA 4.0
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 () .
Читайте ещё по теме:
Как просто найти элемент в списке 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.