🐍 Укус питона 🐍
2.57K subscribers
1K photos
23 videos
285 links
🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки.

👽 Админ - @it_dashka
🔊 Купить рекламу: https://telega.in/c/byteofpython

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Что выведет следующий код?
Anonymous Quiz
58%
1, 2
4%
0, 0
27%
1, 1
12%
Ошибка выполнения
🔹 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.
🔹 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", "-")) # -


Удобно, когда не уверен, что ключ точно есть в словаре — исключения не будет.
Что выведет следующий код?
Anonymous Quiz
26%
10
30%
10, 20
44%
Ошибка выполнения
0%
None
🔹 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, фильтрации списков, словарей и генераторов. Это делает код компактным и избавляет от явных циклов, особенно в функциональном стиле.