Цикл for в Python
forЭто наиболее часто используемый оператор цикла в Python, применяемый для перебора итерируемых объектов (последовательностей, словарей, множеств и т. д.).
Pythonforциклы более лаконичны и мощны, чем в таких языках, как C/C++, и не требуют ручного управления переменными цикла — перебор элементов выполняется напрямую.
Значение слова: forОзначает «для, относительно», используется для итеративного обхода.
Базовый синтаксис и параметры
Формат синтаксиса
for 变量 in 可迭代对象:
代码块
Объяснение синтаксиса
- Переменная: элемент, извлекаемый из итерируемого объекта на каждой итерации цикла.
- Итерируемый объект: списки, кортежи, строки, словари, множества, range и т. д.
- Отступы: Тело цикла должно быть с отступом.
Ветка else
- Необязательно: Цикл for может иметь ветку else.
- Момент выполнения: Выполняется, когда цикл завершается нормально (не прерван через break).
Примеры
Пример 1: Итерация по списку
Примеры
fruits = ["яблоко", "банан", "апельсин"]
for fruit in fruits:
print(fruit)
# Итерация с индексом
for i, fruit in enumerate(fruits):
print(f"{i}: {fruit}")
Ожидаемый вывод:
苹果 香蕉 橙子 0: 苹果 1: 香蕉 2: 橙子
Анализ кода:
- Цикл for напрямую перебирает каждый элемент в списке.
- enumerate() предоставляет и индекс, и значение.
Пример 2: Итерация по строкам и кортежам
Примеры
for char in "Python":
print(char, end=" ")
print() # Перевод строки
# Итерация по кортежу
point = (10, 20)
for value in point:
print(value, end=" ")
print()
Ожидаемый вывод:
P y t h o n 10 20
Строки и кортежи также являются итерируемыми.
Пример 3: Итерация по словарям
Примеры
person = {"name": "Tom", "age": 20, "city": "Пекин"}
for key in person:
print(key)
print("---")
# Итерация по парам ключ-значение
for key, value in person.items():
print(f"{key}: {value}")
print("---")
# Итерация только по значениям
for value in person.values():
print(value)
Ожидаемый вывод:
name age city --- name: Tom age: 20 city: Beijing --- Tom 20 Beijing
Методы items(), keys() и values() словаря могут выполнять итерацию по разным частям.
Пример 4: цикл for с else
Примеры
for i in range(3):
print(i)
else:
print("Цикл завершился нормально")
print("---")
# else не выполняется, когда происходит break
for i in range(5):
if i == 3:
break
print(i)
else:
print("Эта строка не будет напечатана")
Ожидаемый вывод:
0 1 2 循环正常结束 --- 0 1 2
В структуре for-else блок else не выполняется, когда цикл прерывается с помощью break.
Пример 5: Вложенные циклы
Примеры
for i in range(1, 10):
for j in range(1, i + 1):
print(f"{j}*{i}={i*j}", end="\t")
print()
Ожидаемый вывод:
1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 ...
Вложенные циклы можно использовать для обработки многомерных структур данных или генерации таблиц.
Другие расширения
Операторы цикла Python3