Загружаем изображение…

🔄 Хватит писать range(len(...))!



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

❌ Как пишет новичок:
Если нужно получить элемент списка И его индекс:

names = ["Анна", "Борис", "Олег"]

# Стиль C/Java
for i in range(len(names)):
print(f"{i}: {names[i]}")

Это работает, но выглядит громоздко и не "по-питоньи".

✅ 1. Используем enumerate
Эта функция сразу выдает и счетчик, и само значение. Код становится чище!

for i, name in enumerate(names, start=1):
print(f"{i}: {name}")


💡 Фишка: Аргумент start=1 позволяет начать нумерацию не с нуля, а с единицы (полезно для вывода списков пользователю).



❌ Как пишет новичок:
Если нужно пройтись сразу по двум спискам (имена и зарплаты):

salaries = [100, 200, 300]

for i in range(len(names)):
print(f"{names[i]} получает {salaries[i]}")

✅ 2. Используем zip
Функция zip (молния 🤐) "сшивает" несколько списков в один, как застежка.

for name, salary in zip(names, salaries):
print(f"{name} получает {salary}")


⚠️ Важно: Если списки разной длины, zip остановится, когда закончится самый короткий из них. Остальные "хвосты" будут отброшены (если не использовать zip_longest из itertools).

Подписывайтесь на канал 👉 @python_of
Просмотры: 8 119
Открыть в MAX Сообщить о неточности

Репосты публикации

Публикация канала

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти