Фильтрация данных с использованием списка в Python

Вот несколько методов, которые можно использовать для фильтрации данных с помощью списка:

  1. Построение списка. Вы можете использовать понимание списка для фильтрации данных на основе условия. Например:

    data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    filter_list = [2, 4, 6, 8]
    filtered_data = [x for x in data if x in filter_list]
    print(filtered_data)  # Output: [2, 4, 6, 8]
  2. Функция фильтра. Встроенную функцию filter()можно использовать для фильтрации данных на основе условия. Он принимает функцию и итерируемый объект в качестве аргументов и возвращает итератор, возвращающий элементы, для которых функция возвращает True. Вот пример:

    data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    filter_list = [2, 4, 6, 8]
    filtered_data = list(filter(lambda x: x in filter_list, data))
    print(filtered_data)  # Output: [2, 4, 6, 8]
  3. Построение списка с условием if-else. Вы также можете использовать понимание списка с условием if-else для фильтрации данных. Например:

    data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    filter_list = [2, 4, 6, 8]
    filtered_data = [x if x in filter_list else None for x in data]
    filtered_data = list(filter(None, filtered_data))
    print(filtered_data)  # Output: [2, 4, 6, 8]
  4. Пересечение множеств. Вы можете преобразовать данные и список фильтров в наборы и найти их пересечение, используя метод intersection(). Вот пример:

    data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    filter_list = [2, 4, 6, 8]
    filtered_data = list(set(data).intersection(filter_list))
    print(filtered_data)  # Output: [2, 4, 6, 8]
  5. Проверка членства в списке. Вы можете перебирать список данных и проверять, присутствует ли каждый элемент в списке фильтров, используя оператор in. Вот пример:

    data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    filter_list = [2, 4, 6, 8]
    filtered_data = [x for x in data if x in filter_list]
    print(filtered_data)  # Output: [2, 4, 6, 8]