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

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

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Что выведет следующий код?
Anonymous Quiz
48%
Base
30%
Sub
9%
Ошибка выполнения
13%
None
🔹 list comprehension — создание списков в одну строку

Списковые включения позволяют создавать списки на основе других коллекций кратко и читаемо.

➡️ Пример:

squares = [x**2 for x in range(1, 6)]
print(squares)

[1, 4, 9, 16, 25]


Подходит для фильтрации, преобразования и генерации данных без лишнего кода.
Зачем используется функция zip() в Python и когда её применять

Функция zip() объединяет несколько итерируемых объектов, возвращая итератор кортежей, где каждый кортеж содержит элементы с одинаковым индексом из всех коллекций.

Это удобно для синхронной обработки данных из разных источников.

Пример:

names = ["Alice", "Bob", "Charlie"]
scores = [85, 92, 78]

for name, score in zip(names, scores):
print(f"{name}: {score}")
# ➜ Alice: 85
# ➜ Bob: 92
# ➜ Charlie: 78


📌 В этом примере zip() объединяет списки имён и баллов, позволяя пройтись по ним одновременно.

zip() удобно использовать при работе с таблицами, конфигурациями, CSV-данными, векторными операциями и в ML — когда нужно синхронно итерироваться по признакам и меткам. Код получается чище и безопаснее, чем ручной перебор с индексами.
Что выведет следующий код?
Anonymous Quiz
22%
test
22%
got
17%
set test, test
39%
set test, got
🔹 zip() + unpacking — параллельный перебор списков

С помощью zip() можно перебирать несколько списков одновременно.

А с распаковкой (*) удобно разъединять обратно.

➡️ Пример:

names = ["Анна", "Борис", "Вера"]
scores = [90, 85, 78]

for name, score in zip(names, scores):
print(f"{name}: {score}")

Анна: 90
Борис: 85
Вера: 78


zip() помогает работать с данными построчно и синхронно.

А zip(*iterable) делает обратное — трансформирует строки в колонки.
🔹 set() — быстрое удаление дубликатов

Множество (set) хранит только уникальные значения.

Используется для удаления повторов и быстрой проверки принадлежности.

➡️ Пример:

numbers = [1, 2, 2, 3, 4, 4, 5]
unique = list(set(numbers))
print(unique)

[1, 2, 3, 4, 5]


set() — простой способ избавиться от дубликатов в списке. Порядок элементов не сохраняется.
🔹 isinstance() — проверка типа объекта

isinstance() используется для проверки, принадлежит ли объект к определённому типу (или нескольким типам).

➡️ Пример:

x = 3.14

if isinstance(x, (int, float)):
print("Это число")

Это число


Полезно для валидации входных данных и написания гибких функций.


Работает с базовыми и пользовательскими типами.
🔹 range + len — индексы без enumerate

Если нужен доступ к элементам списка и их индексам, но без enumerate(), можно использовать range(len(...)).

➡️ Пример:

fruits = ["яблоко", "банан", "груша"]

for i in range(len(fruits)):
print(f"{i}: {fruits[i]}")

0: яблоко
1: банан
2: груша


Такой способ часто используется, если нужно изменять элементы списка по индексу.
🔹 dict.keys(), values(), items() — перебор словаря

Методы keys(), values() и items() позволяют удобно перебирать словарь.

➡️ Пример:

user = {"name": "Анна", "age": 28}

for key, value in user.items():
print(f"{key}: {value}")

name: Анна
age: 28


items() возвращает пары ключ–значение, keys() — только ключи, values() — только значения.
Полезно для чистого и понятного кода при работе со словарями.
🔹 try-except — обработка ошибок в Python

Конструкция try-except позволяет перехватывать ошибки во время выполнения и избегать падения программы.

➡️ Пример:

user_input = "42a"

try:
number = int(user_input)
print("Число:", number)
except ValueError:
print("Ошибка: это не целое число")

Ошибка: это не целое число


Полезно при работе с вводом, файлами, сетью и любыми нестабильными операциями.

Можно добавить else и finally для дополнительной логики.