Прийоми використання цикла 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
можна зручно перебрати усі необхідні індекси з послідовності.