Автор: CoolPython
Поговорим о циклах в Python. Вот пример цикла, который мог бы написать человек с C или Jav-бэкграундом:
items = [‘a’, ‘b’, ‘c’] i = 0 while i < len(items): print(items[i]) i += 1
Что с ним не так?
А именно:
for item in items: print(item)
Это решение:
О таком и говорят pythonic — когда возможности языка используются, чтобы сделать код лаконичным, читаемым и поддерживаемым.
Но что если вам правда, очень, действительно нужен индекс? Иногда это бывает, и тогда на помощь спешит конструкция enumerate()
, которая предоставляет и сам элемент, и его индекс:
for i, item in enumerate(items): print(i)
В общем, если вам в Python цикле нужно делать операции не с индексами, а с самими объектами, то средства языка позволяют писать чистый и менее подверженный ошибкам код. Если индексы все же нужны, выбирайте enumerate()
: пользоваться индексами напрямую — это не pythonic.
Закончу цитатой.
«В программировании есть только две сложные вещи: инвалидация кеша, выбор имени переменной, и ошибки на единицу».
(Джефф Этвуд, создатель StackOverflow).
Python предлагает набор библиотек, удовлетворяющих различные потребности в визуализации, будь то академические исследования, бизнес-аналитика или…
В Python для представления данных в двоичной форме можно использовать байты. Из этой статьи вы…
В этой статье рассказывается о том, что такое Werkzeug и как Flask использует его для…
При работе с датами часто возникает необходимость прибавлять к дате или вычитать из нее различные…
В этом руководстве мы рассмотрим, как добавить социальную аутентификацию с помощью GitHub и Google в…
В этой статье мы рассмотрим, что такое подсказки типов и чем они могут быть полезны.…