- Rukovodstvo
- статьи и идеи для разработчиков программного обеспечения и веб-разработчиков.
- Python: проверьте, содержит ли массив / список элемент / значение
- Введение В этом руководстве мы рассмотрим, как проверить, содержит ли список элемент или значение в Python. Мы будем использовать список строк, содержащий несколько животных: animals = ['Dog', 'Cat', 'Bird', 'Fish'] Проверить, содержит ли список элемент с циклом for. Простой и элементарный метод проверки наличия list содержит элемент, который проходит через него и проверяет, соответствует ли элемент, на котором мы находимся, тому, который мы ищем. Давайте использовать для этого цикл for: для животных в животных: if animal == 'Bird
- Вступление
- Проверьте, содержит ли список элемент с циклом for
- Проверьте, содержит ли список элемент с оператором in
- Проверьте, содержит ли список элемент, не в операторе
- Проверьте, содержит ли список элемент с лямбда
- Проверьте, содержит ли список элемент с помощью any ()
- Проверьте, содержит ли список элемент, используя count ()
- Заключение
- Как проверить, есть ли элемент в списке
- Проверяем, есть ли элемент в списке, при помощи оператора in
- Использование цикла for для проверки наличия элемента в списке
- Как проверить, есть ли элемент в списке, при помощи функции any()
- Проверяем наличие элемента в списке при помощи метода 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 списки играют роль контейнеров, которые могут хранить любые типы данных в виде коллекции. В 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:
- Использование метода 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.