Как отфильтровать список строк в Python

How Filter List Strings Python



Python использует тип данных списка для хранения нескольких данных в последовательном индексе. Он работает как числовой массив других языков программирования. filter () - очень полезный метод Python. Одно или несколько значений данных можно отфильтровать из любой строки, списка или словаря в Python с помощью метода filter (). Он фильтрует данные на основе любого конкретного условия. Он сохраняет данные, когда условие возвращает true, и отбрасывает данные, когда возвращает false. Как строковые данные в списке могут быть отфильтрованы в Python, показано в этой статье на различных примерах. Вы должны использовать Python 3+, чтобы протестировать примеры из этой статьи.

Отфильтровать список строк, используя другой список

В этом примере показано, как данные в списке строк могут быть отфильтрованы без использования какого-либо метода. Список строки фильтруется здесь с помощью другого списка. Здесь объявлены две переменные списка с именем list1 а также list2 . Ценности list2 фильтруется с использованием значений list1 . Скрипт будет соответствовать первому слову каждого значения list2 со значениями list1 и распечатайте те значения, которых нет в list1 .







# Объявить две переменные списка
list1знак равно ['Perl', 'PHP', 'Джава', 'ASP']
list2знак равно ['JavaScript - это язык сценариев на стороне клиента',
'PHP - это язык сценариев на стороне сервера',
'Java - это язык программирования',
'Bash - это язык сценариев']

# Отфильтровать второй список на основе первого списка
filter_dataзнак равно [ИксдляИксвlist2если
все(а такженет вИксдляа такжевlist1)]

# Распечатать данные списка перед фильтром и после фильтра
Распечатать('Содержание первого списка:',list1)
Распечатать('Содержание второго списка:',list2)
Распечатать('Содержание второго списка после фильтра:',filter_data)

Выход:



Запускаем скрипт. Здесь, list1 не содержит слова ' Баш '. Вывод будет содержать только одно значение из list2 то есть ' Bash - это язык сценариев » .







Отфильтровать список строк с помощью другого списка и настраиваемой функции

В этом примере показано, как можно отфильтровать список строк с помощью другого списка и функции настраиваемого фильтра. Сценарий содержит две переменные списка с именами list1 и list2. Функция настраиваемого фильтра найдет общие значения обеих переменных списка.

# Объявить две переменные списка
list1знак равно ['90', '67', «3. 4», '55', '12', '87', '32']
list2знак равно ['9', '90', '38', 'Четыре пять', '12', 'двадцать']

# Объявить функцию для фильтрации данных из первого списка
defФильтр(list1,list2):
возвращение [пдляпвlist1если
любой(мвпдлямвlist2)]

# Распечатать данные списка перед фильтром и после него
Распечатать('Содержание списка1:',list1)
Распечатать('Содержание списка2:',list2)
Распечатать('Данные после фильтра',Фильтр(list1,list2))

Выход:



Запускаем скрипт. В обеих переменных списка есть значения 90 и 12. Следующий вывод будет сгенерирован после запуска скрипта.

Отфильтровать список строк с помощью регулярного выражения

Список фильтруется с использованием все() а также любой() методы в двух предыдущих примерах. В этом примере для фильтрации данных из списка используется регулярное выражение. Регулярное выражение - это шаблон, по которому можно искать или сопоставлять любые данные. ‘Re’ Модуль используется в Python для применения регулярного выражения в скрипте. Здесь объявлен список с предметными кодами. Регулярное выражение используется для фильтрации тех тематических кодов, которые начинаются со слова ' CSE '. ' ^ Символ ‘используется в шаблонах регулярных выражений для поиска в начале текста.

# Импортировать модуль re для использования регулярного выражения
Импортировать повторно

# Объявить, что список содержит код темы
подсписокзнак равно ['CSE-407', 'PHY-101', 'CSE-101', 'АНГ-102', 'МАТ-202']

# Объявить функцию фильтра
defФильтр(даталист):
# Поиск данных по регулярному выражению в списке
возвращение [часыдлячасывдаталист
если повторно.поиск(р'^ CSE',часы)]

# Распечатать данные фильтра
Распечатать(Фильтр(подсписок))

Выход:

Запускаем скрипт. подсписок переменная содержит два значения, которые начинаются с ' CSE '. Следующий вывод появится после запуска скрипта.

Отфильтровать список строк с помощью лямда-выражения

В этом примере показано использование Ламда выражение для фильтрации данных из списка строк. Здесь переменная списка с именем search_word используется для фильтрации содержимого текстовой переменной с именем текст . Содержимое текста преобразуется в список с именем, text_word на основе пространства с использованием расколоть() метод. Ламда выражение будет опускать эти значения из text_word которые существуют в search_word и сохраните отфильтрованные значения в переменной, добавив пробел.

# Объявить список, содержащий поисковое слово
search_wordзнак равно ['Учат', 'Код', 'Программирование', 'Блог']

# Определите текст, в котором слово из списка будет искать
текстзнак равно 'Изучите программирование на Python из Linux Hint Blog'

# Разделить текст по пробелу и сохранить слова в списке
text_wordзнак равнотекст.расколоть()

# Использование лямбда-выражения для фильтрации данных
filter_textзнак равно ''.присоединиться((фильтр(лямбдаval: valнетя
n search_word,text_word)))

# Печатать текст перед фильтрацией и после фильтрации
Распечатать(' пТекст перед фильтрацией: п',текст)
Распечатать('Текст после фильтрации: п',filter_text)

Выход:

Запускаем скрипт. Следующий вывод появится после запуска скрипта.

Отфильтруйте список строк с помощью метода filter ()

фильтр() принимает два параметра. Первый параметр принимает имя функции или Никто а второй параметр принимает в качестве значений имя переменной списка. фильтр() метод сохраняет эти данные из списка, если он возвращает true, в противном случае он отбрасывает данные. Здесь, Никто задается как значение первого параметра. Все значения без ложный будут извлечены из списка как отфильтрованные данные.

# Объявить список смешанных данных
listDataзнак равно ['Привет', 200, 1, 'Мир', Ложь, Правда, '0']

# Вызвать метод filter () с None и списком
filterDataзнак равно фильтр(Никто,listData)

# Распечатать список после фильтрации данных
Распечатать('Список после фильтрации:')
длячасывfilterData:
Распечатать(часы)

Выход:

Запускаем скрипт. Список содержит только одно ложное значение, которое будет опущено в отфильтрованных данных. Следующий вывод появится после запуска скрипта.

Заключение:

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