Методы фильтрации чисел, делящихся на 3 и 5, в Python

Вот несколько способов отфильтровать числа, которые делятся и на 3, и на 5:

Метод 1. Использование цикла:

numbers = [1, 5, 15, 20, 25, 30, 35, 45, 50, 55]
result = []
for num in numbers:
    if num % 3 == 0 and num % 5 == 0:
        result.append(num)
print(result)  # Output: [15, 30, 45]

Метод 2. Использование понимания списка:

numbers = [1, 5, 15, 20, 25, 30, 35, 45, 50, 55]
result = [num for num in numbers if num % 3 == 0 and num % 5 == 0]
print(result)  # Output: [15, 30, 45]

Метод 3. Использование функции filter():

numbers = [1, 5, 15, 20, 25, 30, 35, 45, 50, 55]
result = list(filter(lambda num: num % 3 == 0 and num % 5 == 0, numbers))
print(result)  # Output: [15, 30, 45]

Метод 4. Использование функции itertools.compress():

from itertools import compress
numbers = [1, 5, 15, 20, 25, 30, 35, 45, 50, 55]
selectors = [(num % 3 == 0 and num % 5 == 0) for num in numbers]
result = list(compress(numbers, selectors))
print(result)  # Output: [15, 30, 45]