@ TOC

🐍 Python for 循环完全指南:从入门到精通

Python 的 for 循环是编程中最常用、最强大的工具之一。本文将从基础到进阶,带你全面掌握 for 循环的各种用法。


一、for 循环基础语法

Python 的 for 循环用于遍历序列(如列表、元组、字符串等)。

基本语法

⦆⦆⦆python

遍历列表

fruits = [‘苹果’, ‘香蕉’, ‘橙子’]
for fruit in fruits:
print(f"我喜欢吃{fruit}")
⦆⦆⦆

输出结果

⦆⦆⦆
我喜欢吃苹果
我喜欢吃香蕉
我喜欢吃橙子
⦆⦆⦆

遍历字符串

⦆⦆⦆python
for char in “Python”:
print(char)
⦆⦆⦆


二、range() 函数三种用法

⦆⦆range()⦆⦆ 是 for 循环的好搭档,用于生成数字序列。

用法 1:range(stop)

⦆⦆⦆python

生成 0 到 4

for i in range(5):
print(i) # 输出: 0, 1, 2, 3, 4
⦆⦆⦆

用法 2:range(start, stop)

⦆⦆⦆python

生成 1 到 5

for i in range(1, 6):
print(i) # 输出: 1, 2, 3, 4, 5
⦆⦆⦆

用法 3:range(start, stop, step)

⦆⦆⦆python

生成 0, 2, 4, 6, 8

for i in range(0, 10, 2):
print(i)

倒计时

for i in range(10, 0, -1):
print(i)
⦆⦆⦆

🎯 实战:乘法表

⦆⦆⦆python

打印 9x9 乘法表

for i in range(1, 10):
for j in range(1, i + 1):
print(f"{j}×{i}={i*j}“, end=”\t")
print() # 换行
⦆⦆⦆


三、enumerate() 函数

同时获取索引和元素,告别手动计数!

基础用法

⦆⦆⦆python
colors = [‘红’, ‘绿’, ‘蓝’]

普通方式(不推荐)

for i in range(len(colors)):
print(f"{i}: {colors[i]}")

使用 enumerate(推荐 ✓)

for index, color in enumerate(colors):
print(f"{index}: {color}")
⦆⦆⦆

指定起始索引

⦆⦆⦆python

从 1 开始计数

for num, student in enumerate([‘Alice’, ‘Bob’, ‘Charlie’], start=1):
print(f"学号{num}: {student}")
⦆⦆⦆


四、break / continue / else 控制语句

break - 立即退出循环

⦆⦆⦆python

找到第一个偶数就停止

numbers = [1, 3, 5, 8, 9, 10]
for num in numbers:
if num % 2 == 0:
print(f"找到偶数: {num}")
break
⦆⦆⦆

continue - 跳过当前迭代

⦆⦆⦆python

打印所有奇数,跳过偶数

for i in range(1, 11):
if i % 2 == 0:
continue
print(i) # 输出: 1, 3, 5, 7, 9
⦆⦆⦆

else - 循环正常完成时执行

⦆⦆⦆python

检查是否为质数

n = 17
for i in range(2, n):
if n % i == 0:
print(f"{n} 不是质数")
break
else:
# 只有循环没有被 break 时才会执行
print(f"{n} 是质数")
⦆⦆⦆


五、列表推导式

一行代码创建列表,简洁又高效!

基础语法

⦆⦆⦆python

传统方式

squares = []
for x in range(10):
squares.append(x**2)

列表推导式

squares = [x**2 for x in range(10)]
⦆⦆⦆

带条件的推导式

⦆⦆⦆python

只保留偶数

evens = [x for x in range(20) if x % 2 == 0]

双重循环

pairs = [(x, y) for x in range(3) for y in range(3)]
⦆⦆⦆


六、遍历字典的三种方式

⦆⦆⦆python
student = {‘name’: ‘小明’, ‘age’: 18, ‘grade’: ‘A’}

方式 1:遍历键(默认)

for key in student:
print(key)

方式 2:遍历键值对

for key, value in student.items():
print(f"{key}: {value}")

方式 3:分别遍历键和值

for key in student.keys():
print(f"键: {key}")

for value in student.values():
print(f"值: {value}")
⦆⦆⦆


七、实际应用案例

案例 1:统计词频

⦆⦆⦆python
text = “apple banana apple cherry banana apple”
words = text.split()

word_count = {}
for word in words:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1

print(word_count)

{‘apple’: 3, ‘banana’: 2, ‘cherry’: 1}

使用 collections.Counter 更简洁

from collections import Counter
word_count = Counter(words)
⦆⦆⦆

案例 2:逐行读取文件

⦆⦆⦆python

方式 1:直接遍历文件对象

with open(‘data.txt’, ‘r’, encoding=‘utf-8’) as f:
for line in f:
print(line.strip()) # strip() 移除换行符

方式 2:读取所有行

with open(‘data.txt’, ‘r’, encoding=‘utf-8’) as f:
lines = f.readlines()
for i, line in enumerate(lines, 1):
print(f"第{i}行: {line.strip()}")
⦆⦆⦆

案例 3:批量处理数据

⦆⦆⦆python

批量重命名文件

import os

folder = ‘./images’
for i, filename in enumerate(os.listdir(folder)):
if filename.endswith(‘.jpg’):
new_name = f"img_{i:03d}.jpg"
os.rename(
os.path.join(folder, filename),
os.path.join(folder, new_name)
)
print(f"重命名: {filename} -> {new_name}")
⦆⦆⦆


八、总结表格

特性 语法 适用场景
基础 for ⦆for x in iterable:⦆ 遍历列表、字符串等
range() ⦆range(start, stop, step)⦆ 需要索引或数字序列
enumerate() ⦆enumerate(iterable, start)⦆ 同时需要索引和元素
break ⦆break⦆ 提前退出循环
continue ⦆continue⦆ 跳过当前迭代
else ⦆for…else⦆ 循环正常完成后的处理
列表推导式 ⦆[expr for x in iterable if cond]⦆ 快速创建列表
字典遍历 ⦆.items() / .keys() / .values()⦆ 遍历字典数据

💡 小贴士

  1. 优先使用 enumerate() - 比 ⦆range(len(list))⦆ 更 Pythonic
  2. 善用列表推导式 - 简洁高效,但不要太复杂
  3. 注意迭代器消耗 - 某些可迭代对象只能遍历一次
  4. 使用 with 语句 - 处理文件时自动关闭资源

希望这篇教程能帮助你更好地掌握 Python for 循环!如果有任何问题,欢迎在评论区留言交流。


标签: #Python #编程基础 #for循环 #Python教程

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐