Методы Python для фильтрации списка строк: примеры и код

Чтобы отфильтровать список строк в Python, вы можете использовать различные методы. Вот несколько часто используемых подходов:

  1. Понимание списка:

    filtered_list = [string for string in list_of_strings if condition]

    Пример:

    list_of_strings = ["apple", "banana", "cherry", "date"]
    filtered_list = [string for string in list_of_strings if "a" in string]
    print(filtered_list)  # Output: ['apple', 'banana']
  2. Функция фильтра с помощью Lambda:

    filtered_list = list(filter(lambda string: condition, list_of_strings))

    Пример:

    list_of_strings = ["apple", "banana", "cherry", "date"]
    filtered_list = list(filter(lambda string: "a" in string, list_of_strings))
    print(filtered_list)  # Output: ['apple', 'banana']
  3. Регулярные выражения (модуль):

    import re
    filtered_list = [string for string in list_of_strings if re.search(pattern, string)]

    Пример:

    import re
    list_of_strings = ["apple", "banana", "cherry", "date"]
    filtered_list = [string for string in list_of_strings if re.search("a", string)]
    print(filtered_list)  # Output: ['apple', 'banana']
  4. Понимание списка с помощью настраиваемой функции фильтрации:

    def custom_filter(string):
       # Define your condition here
       return condition
    filtered_list = [string for string in list_of_strings if custom_filter(string)]

    Пример:

    list_of_strings = ["apple", "banana", "cherry", "date"]
    filtered_list = [string for string in list_of_strings if "a" in string]
    print(filtered_list)  # Output: ['apple', 'banana']