Python проверяет, содержит ли список строку

  1. Используйте цикл for для проверки определенной строки в списке Python
  2. Использование понимания списка для проверки определенной строки в списке Python
  3. Используйте функцию filter() для получения определенной строки в списке Python

Строки - это последовательность символов. Так же, как строки хранят символы в определенных позициях, мы можем использовать списки для хранения коллекции строк.

В этом руководстве мы получим строку с определенными значениями в списке Python.

Используйте цикл for для проверки определенной строки в списке Python

for используется для перебора последовательности в Python.

Его реализация для получения строки, содержащей определенные значения, показана в примере ниже.

py_list = ['a-1','b-2','c-3','a-4']
new_list =[]
for x in py_list: 
    if "a" in x:
       new_list.append(x)
print(new_list)

Выход:

['a-1','a-4']

В приведенном выше коде оператор if используется внутри цикла for для поиска строк, содержащих a в списке py_list. Другой список с именем new_list создается для хранения этих конкретных строк.

Использование понимания списка для проверки определенной строки в списке Python

Понимание списков - это способ создания новых списков на основе существующего списка. Он предлагает более короткий синтаксис, более компактный и быстрый, чем другие функции и циклы, используемые для создания списка.

Например,

py_list = ['a-1','b-2','c-3','a-4']
r = [s for s in py_list if "a" in s]
print(r)

Выход:

['a-1', 'a-4']

В приведенном выше коде понимание списка используется для поиска строк, имеющих a в списке py_list.

Обратите внимание, что написание того же кода с использованием других функций или циклов заняло бы больше времени, поскольку для их реализации требуется больше кода, но понимание списка решает эту проблему.

Мы также можем использовать понимание списка, чтобы найти строки, содержащие несколько определенных значений, т.е. мы можем найти строки, содержащие a и b в py_list, объединив два понимания.

Например,

py_list = ['a-1','b-2','c-3','a-4','b-8']
q = ['a','b']
r = [s for s in py_list if any(xs in s for xs in q)]
print(r)

Выход:

['a-1', 'b-2', 'a-4','b-8']

Используйте функцию filter() для получения определенной строки в списке Python

Функция filter() фильтрует данную итерацию с помощью функции, которая проверяет, удовлетворяет ли каждый элемент какому-либо условию или нет.

Он возвращает итератор, который применяет проверку для каждого элемента в итерируемом объекте.

Например,

py_lst = ['a-1','b-2','c-3','a-4']
filter(lambda x: 'a' in x,py_lst)
print (filter(lambda x: 'a' in x,py_lst))

Выход:

<filter object at 0x7fd36c1905e0>

Обратите внимание, что вышеприведенный вывод представляет собой объект типа фильтр-итератор, поскольку функция filter() возвращает итератор вместо списка.

Мы можем использовать функцию list(), как показано в приведенном ниже коде, для получения списка.

list(filter(lambda x: 'a' in x,py_lst))

Выход:

['a-1','a-4']

В приведенном выше коде мы использовали filter(), чтобы найти строку с определенными значениями в списке py_list.

Сопутствующая статья - Python String

  • Как проверить, что строка пуста в Python
  • Как удалить белый пробел в строке на Python
  • Как конвертировать строку в дату на Python
  • Как преобразовать строку в нижний кейс на Python 2 и 3
  • Сопутствующая статья - Python List

  • Как проверить, что строка пуста в Python
  • Как удалить белый пробел в строке на Python
  • Как конвертировать строку в дату на Python
  • Как преобразовать строку в нижний кейс на Python 2 и 3