Использование цикла for в Python для итерации по последовательностям и коллекциям данных

онлайн тренажер по питону
Онлайн-тренажер Python для начинающих

Изучайте Python легко и без перегрузки теорией. Решайте практические задачи с автоматической проверкой, получайте подсказки на русском языке и пишите код прямо в браузере — без необходимости что-либо устанавливать.

Начать курс

Самоучитель Python 3, собранный из материалов данного сайта.Предназначен в основном для тех, кто хочет изучить язык программирования Python с нуля.

Цикл for в Python: полное руководство с примерами

Цикл for в Python — это мощный инструмент для итерации по последовательностям и итерируемым объектам. В отличие от других языков программирования, где цикл for часто используется для выполнения определённого числа повторений, Python цикл for более гибкий и позволяет перебирать элементы коллекции напрямую.

Синтаксис цикла for

Основная структура цикла for выглядит следующим образом:

for элемент in последовательность:
    # Блок кода, выполняемый для каждого элемента

Где:

  • элемент — переменная, которая принимает значение каждого элемента последовательности поочередно
  • последовательность — любой итерируемый объект (список, строка, кортеж, диапазон, словарь, множество)

Итерация по списку

Самый распространённый случай использования — перебор элементов списка:

fruits = ['яблоко', 'банан', 'вишня']
for fruit in fruits:
    print(fruit)

Результат:

яблоко
банан
вишня

Итерация по строке

Цикл for по строке позволяет обработать каждый символ отдельно:

word = "привет"
for letter in word:
    print(letter)

Результат:

п
р
и
в
е
т

Использование функции range()

Для итерации по числам используется функция range():

for i in range(5):
    print(i)

Результат:

0
1
2
3
4

Параметры функции range()

Функция range() может принимать до трёх аргументов:

  • range(stop) — от 0 до stop (не включая stop)
  • range(start, stop) — от start до stop (не включая stop)
  • range(start, stop, step) — от start до stop с шагом step
for i in range(1, 10, 2):
    print(i)

Результат:

1
3
5
7
9

Вложенные циклы for

Вложенные циклы применяются для работы с многомерными структурами данных:

matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

for row in matrix:
    for element in row:
        print(element, end=' ')
    print()

Результат:

1 2 3 
4 5 6 
7 8 9 

Функция enumerate()

Enumerate в Python позволяет одновременно получать индекс и значение элемента:

names = ['Алексей', 'Борис', 'Вера']
for index, name in enumerate(names):
    print(f'Индекс: {index}, Имя: {name}')

Результат:

Индекс: 0, Имя: Алексей
Индекс: 1, Имя: Борис
Индекс: 2, Имя: Вера

Начальное значение индекса

Можно задать начальное значение для индекса:

for index, name in enumerate(names, start=1):
    print(f'№{index}: {name}')

Цикл for с else

Особенность Python — блок else после цикла for. Он выполняется только если цикл завершился естественным образом (не был прерван break):

for i in range(5):
    print(i)
else:
    print("Цикл завершён без прерывания")

Если цикл прерывается:

for i in range(5):
    if i == 3:
        break
    print(i)
else:
    print("Этот текст не выведется")

Итерация по словарю

Цикл for по словарю может выполняться несколькими способами:

student = {'имя': 'Иван', 'возраст': 25, 'город': 'Москва'}

# По ключам
for key in student:
    print(key)

# По значениям
for value in student.values():
    print(value)

# По парам ключ-значение
for key, value in student.items():
    print(f'{key}: {value}')

Управление циклом

Оператор break

Прерывает выполнение цикла:

for i in range(10):
    if i == 5:
        break
    print(i)

Оператор continue

Пропускает текущую итерацию и переходит к следующей:

for i in range(5):
    if i == 2:
        continue
    print(i)

Списковые включения (List Comprehensions)

Альтернатива циклу for для создания списков:

# Обычный цикл
squares = []
for i in range(5):
    squares.append(i**2)

# Списковое включение
squares = [i**2 for i in range(5)]

Практические примеры

Подсчёт элементов

numbers = [1, 2, 3, 2, 1, 2]
count = 0
for num in numbers:
    if num == 2:
        count += 1
print(f'Количество двоек: {count}')

Сумма элементов

numbers = [10, 20, 30, 40, 50]
total = 0
for num in numbers:
    total += num
print(f'Сумма: {total}')

Поиск максимального элемента

numbers = [45, 12, 78, 23, 56]
max_num = numbers[0]
for num in numbers:
    if num > max_num:
        max_num = num
print(f'Максимальное число: {max_num}')

Заключение

Цикл for в Python — универсальный инструмент для итерации по любым последовательностям. Он обеспечивает читаемость кода и эффективность выполнения. Понимание всех возможностей цикла for поможет писать более элегантный и производительный код на Python.

 

категории

  • Введение в Python
  • Основы программирования на Python
  • Управляющие конструкции
  • Структуры данных
  • Функции и модули
  • Обработка исключений
  • Работа с файлами и потоками
  • файловая система
  • Объектно-ориентированное программирование (ООП)
  • Регулярные выражения
  • Дополнительные темы
  • Общая база питона