«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как отфильтровать список строк, содержащих определенную подстроку, в Python?

Как отфильтровать список строк, содержащих определенную подстроку, в Python?

Опубликовано 3 ноября 2024 г.
Просматривать:435

How to Filter a List of Strings Containing a Specific Substring in Python?

Фильтрация списка строк по их содержимому

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

Использование списков

Один из самых простых и рекомендуемых подходов — использовать мощные списковые генераторы Python. . Понимания списков предоставляют краткий и выразительный способ создания нового списка на основе элементов существующего. Для вашего конкретного требования к фильтрации строк, содержащих «ab», вы можете использовать следующее понимание:

lst = ['a', 'ab', 'abc', 'bac']
result = [k for k in lst if 'ab' in k]

Это понимание перебирает каждую строку в исходном списке ('a', 'ab', 'abc', 'bac') и проверяет если он содержит подстроку «ab». Если это правда, строка добавляется в результирующий список. Это дает вам желаемый отфильтрованный список: ['ab', 'abc'].

Использование функции фильтра

Другой метод фильтрации строк в Python — использовать функция фильтра. Эта функция принимает функцию фильтра и итерацию в качестве аргументов и возвращает итератор, который возвращает элементы итерации, удовлетворяющие функции фильтра. В вашем случае вы можете использовать фильтр следующим образом:

lst = ['a', 'ab', 'abc', 'bac']
result = list(filter(lambda k: 'ab' in k, lst))

Функция фильтра принимает анонимную функцию (лямбда-функция) в качестве первого аргумента, которая проверяет, существует ли 'ab' во входных данных нить. Второй аргумент — исходный список. Результатом фильтра является итератор, который затем преобразуется в список с помощью list(). Опять же, это создает желаемый список ['ab', 'abc'].

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

Заявление о выпуске Эта статья перепечатана по адресу: 1729375938. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3