Перейти до змісту

Прийоми використання цикла for

За допомогою цикла for зручно перебирати елементи послідовностей. Але при цьому ми не можемо впливати на саму послідовність. Приклад: треба у списку цілих чисел кожен елемент помножити на 2.

>>> numbers = [1, 2, 3, 4, 5, 6, 7]
>>> for i in numbers:
...     i *= 2
...
>>> numbers
[1, 2, 3, 4, 5, 6, 7]
>>>

При виконанні даного коду сам початковий список залишиться незміненим, тому що при кожній інтерації у змінну i попадає лише черговий елемент списка, тобто ціле число яке є немутабельним.

Щоб змінити сам список до його елементів треба звертатись по індексах. Можна перебрати індекси за допомогою циклу while, але це трохи громіздко.

Індекси послідовності лежать у діапазоні від 0 до до кількість елментів послідовності мінус один:

>>> numbers = list(range(11))
>>> numbers
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> for i in range(len(numbers)):
...     numbers[i] *= 2
...
>>> numbers
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
>>>

Отже використовуючи цикл for і послідовність range можна зручно перебрати усі необхідні індекси з послідовності.