🔹 filter() — фильтрация элементов по условию
Функция
➡️ Пример:
Функция
filter()
отбирает элементы из итерируемого объекта, которые проходят заданную проверку.➡️ Пример:
numbers = [1, 2, 3, 4, 5, 6]
evens = list(filter(lambda x: x % 2 == 0, numbers))
print(evens)
[2, 4, 6]
filter() не изменяет исходный список и работает "лениво". Полезна для чистой и краткой фильтрации данных.
❓ Зачем используются генераторные выражения в Python и когда их применять?
Генераторное выражение — это компактный синтаксис (
✅ Пример:
📌 В этом примере создаётся генератор, который по-очереди отдаёт квадраты чётных чисел. Память под миллион элементов не выделяется; вычисления происходят «на лету».
Генераторное выражение — это компактный синтаксис (
expr for item in iterable if cond
) , который создаёт ленивый итератор вместо полного списка. Оно выдаёт элементы по одному, потребляя память только под текущий элемент.✅ Пример:
numbers = range(1, 1_000_001) # миллион чисел
squared_sum = sum(x * x for x in numbers if x % 2 == 0)
print(squared_sum) # лениво обходит только чётные числа
📌 В этом примере создаётся генератор, который по-очереди отдаёт квадраты чётных чисел. Память под миллион элементов не выделяется; вычисления происходят «на лету».
Генераторные выражения удобно использовать, когда нужны последовательные вычисления без хранения промежуточных данных — например, при обработке больших файлов, потоковой фильтрации, подсчётах и конвейерах sum, max, any, all. Они делают код короче, а программу — экономнее по памяти.
Что выведет следующий код?
Anonymous Quiz
33%
[1], [2]
19%
[2], [1]
48%
[1], [1, 2]
0%
Ошибка выполнения
🔹 any() — проверка хотя бы одного True
Функция
➡️ Пример:
Удобно для быстрой проверки условий в списках и других коллекциях.
Функция
any()
возвращает True
, если хотя бы один элемент в итерируемом объекте является истиной.➡️ Пример:
flags = [False, False, True, False]
if any(flags):
print("Есть хотя бы одно истинное значение")
Есть хотя бы одно истинное значение
Удобно для быстрой проверки условий в списках и других коллекциях.
🔹 all() — проверка всех значений на True
Функция
➡️ Пример:
Полезно при проверке нескольких флагов, условий или фильтрации данных.
Функция
all()
возвращает True
, если все элементы итерируемого объекта истинны.➡️ Пример:
checks = [True, True, True]
if all(checks):
print("Все условия выполнены")
Все условия выполнены
Полезно при проверке нескольких флагов, условий или фильтрации данных.
Если хотя бы один элемент — False, результат будет False.
Что выведет следующий код?
Anonymous Quiz
5%
1, GeneratorExit caught
45%
1, без вывода GeneratorExit caught
30%
Только GeneratorExit caught
20%
Ошибка выполнения
🔹 set() — создание множества в Python
➡️ Пример:
set()
создаёт коллекцию уникальных элементов. Повторяющиеся значения автоматически удаляются.➡️ Пример:
numbers = [1, 2, 2, 3, 3, 3]
unique = set(numbers)
print(unique)
{1, 2, 3}
Множества полезны для удаления дубликатов, математических операций (пересечение, объединение) и быстрых проверок принадлежности.
🔹 dict.get() — безопасное получение значения по ключу
Метод
➡️ Пример:
Метод
get()
возвращает значение из словаря по ключу. Если ключа нет — возвращает None или значение по умолчанию.➡️ Пример:
user = {"name": "Анна", "age": 28}
print(user.get("name")) # Анна
print(user.get("email")) # None
print(user.get("email", "-")) # -
Удобно, когда не уверен, что ключ точно есть в словаре — исключения не будет.
🔹 enumerate() — индексы в цикле for
Функция
Удобна при работе со списками, когда нужен и элемент, и его позиция.
➡️ Пример:
Функция
enumerate()
позволяет перебирать элементы вместе с их индексами.Удобна при работе со списками, когда нужен и элемент, и его позиция.
➡️ Пример:
fruits = ["яблоко", "банан", "вишня"]
for index, fruit in enumerate(fruits):
print(index, fruit)
0 яблоко
1 банан
2 вишня
enumerate() делает код чище и заменяет ручной счётчик.
❓ Зачем используется функция
Функция
✅ Пример:
📌 В этом примере
filter()
в Python и когда её применять?Функция
filter()
возвращает итератор, содержащий только те элементы из итерируемого объекта, для которых заданная функция возвращает True. Это удобно, когда нужно отфильтровать данные по условию, не создавая лишних списков вручную.✅ Пример:
users = [
{"name": "Alice", "active": True},
{"name": "Bob", "active": False},
{"name": "Charlie", "active": True}
]
active_users = list(filter(lambda u: u["active"], users))
print(active_users)
# ➜ [{'name': 'Alice', 'active': True}, {'name': 'Charlie', 'active': True}]
📌 В этом примере
filter()
возвращает только активных пользователей.filter() удобно использовать для очистки данных, предобработки перед ML, фильтрации списков, словарей и генераторов. Это делает код компактным и избавляет от явных циклов, особенно в функциональном стиле.