
Александр Захаров @Xezed
Web Developer
Понимание итераторов в Python
8 min
159KPython — особенный язык в плане итераций и их реализации, в этой статье мы подробно разберём устройство итерируемых объектов и пресловутого цикла for
.
Особенности, с которыми вы часто можете столкнуться в повседневной деятельности
1. Использование генератора дважды
>>> numbers = [1,2,3,4,5]
>>> squared_numbers = (number**2 for number in numbers)
>>> list(squared_numbers)
[1, 4, 9, 16, 25]
>>> list(squared_numbers)
[]
Как мы видим в этом примере, использование переменной squared_numbers
дважды, дало ожидаемый результат в первом случае, и, для людей незнакомых с Python в достаточной мере, неожиданный результат во втором.
2. Проверка вхождения элемента в генератор
Возьмём всё те же переменные:
>>> numbers = [1,2,3,4,5]
>>> squared_numbers = (number**2 for number in numbers)
А теперь, дважды проверим, входит ли элемент в последовательность:
>>> 4 in squared_numbers
True
>>> 4 in squared_numbers
False
+25
Information
- Rating
- Does not participate
- Location
- Курск, Курская обл., Россия
- Date of birth
- Registered
- Activity