
- Главная
- Каталог
- Интернет технологии
- Программистика
Статистика канала
Программистика|| #video🎥 Первоисточник
names = ["Алиса", "Боб", "Карл"]
ages = [25, 30, 35]
for i in range(len(names)):
print(f"{names[i]}: {ages[i]} лет"){}
zip объединяет несколько итерируемых объектов, возвращая кортежи из соответствующих элементов:
names = ["Алиса", "Боб", "Карл"]
ages = [25, 30, 35]
for name, age in zip(names, ages):
print(f"{name}: {age} лет"){}
Преимущества:
products = ["Яблоки", "Бананы", "Апельсины"]
prices = [100, 80, 120]
quantities = [5, 3, 2]
for product, price, qty in zip(products, prices, quantities):
total = price * qty
print(f"{product}: {total} руб."){}
Когда списки разной длины (и нужно это обработать)
По умолчанию zip обрезает по самому короткому. Если нужны все значения:
from itertools import zip_longest
names = ["Алиса", "Боб", "Карл", "Дина"]
ages = [25, 30, 35]
for name, age in zip_longest(names, ages, fillvalue="неизвестно"):
print(f"{name}, возраст: {age}")
# Дина, возраст: неизвестно{}
А если всё-таки нужны индексы?
Используйте enumerate вместе с zip:
for i, (name, age) in enumerate(zip(names, ages), start=1):
print(f"{i}. {name}: {age} лет"){}
Когда `range(len(...))` может быть уместен?
Только если действительно нужны именно индексы для манипуляций (например, алгоритм сортировки с перемещениями). Но даже тогда часто есть лучшие способы.
Запомни:
zip — для параллельной итерации
enumerate — когда нужны и индекс, и значение
range(len(...))
Работайте с данными напрямую, а не через их индексы — код станет чище и надёжнее.
Программистика|| #docПрограммистика || #Course🌐 Ссылка
list - изменяемый (mutable). Можно менять, добавлять, удалять элементы.
- tuple - неизменяемый (immutable). После создания его нельзя изменить.
tuple работает быстрее и занимает меньше памяти. Python может кэшировать и оптимизировать их.
import sys
import timeit
lst = [1, 2, 3]
tup = (1, 2, 3)
print(sys.getsizeof(lst)) # 120 байт (может меняться)
print(sys.getsizeof(tup)) # 72 байта{}
2. Безопасность и хэшируемость:
tuple можно использовать как ключ в словаре, list - нет. Это важно для кэшей, индексов.
valid_cache = {(1, 2): "result"} # Работает
invalid_cache = {[1, 2]: "result"} # TypeError: unhashable type{}
3. Семантическое различие:
- list - это однородная коллекция (все элементы обычно одного типа).
- tuple - это гетерогенная коллекция, часто используется как запись с полями (как namedtuple или дата-класс).
# Плохо: tuple как list
for item in ("apple", "banana", "cherry"):
print(item)
# Хорошо: tuple как структура
person = ("Alice", 30, "engineer") # имя, возраст, профессия{}
4. Неизменяемость - только на верхнем уровне:
Важный подвох! Если внутри tuple лежит изменяемый объект - его можно изменить.
danger = (1, 2, [3, 4])
danger[2].append(5) # Опасно! Работает!
print(danger) # (1, 2, [3, 4, 5]){}
💡 Итоговый ответ для собеса:
1. Основное: list - mutable, tuple - immutable 2. Следствия: tuple быстрее, занимает меньше памяти, хэшируем 3. Семантика: list для однородных данных, tuple для структур 4. Ловушка: неизменяемость только на верхнем уровне 5. Когда что использовать: - tuple для константных данных, ключей словаря - list для динамических коллекцийЗапомни: на джуньорских позициях хватит первого пункта, но сеньоры ждут все пять. Программистика||#jobs
Отзывы канала
всего 3 отзыва
- Добавлен: Сначала новые
- Добавлен: Сначала старые
- Оценка: По убыванию
- Оценка: По возрастанию
Каталог Телеграм-каналов для нативных размещений
Программистика — это Telegam канал в категории «Интернет технологии», который предлагает эффективные форматы для размещения рекламных постов в Телеграмме. Количество подписчиков канала в 5.7K и качественный контент помогают брендам привлекать внимание аудитории и увеличивать охват. Рейтинг канала составляет 33.8, количество отзывов – 3, со средней оценкой 5.0.
Вы можете запустить рекламную кампанию через сервис Telega.in, выбрав удобный формат размещения. Платформа обеспечивает прозрачные условия сотрудничества и предоставляет детальную аналитику. Стоимость размещения составляет 1398.6 ₽, а за 19 выполненных заявок канал зарекомендовал себя как надежный партнер для рекламы в TG. Размещайте интеграции уже сегодня и привлекайте новых клиентов вместе с Telega.in!
Вы снова сможете добавить каналы в корзину из каталога
Комментарий