系统整理Python的循环语句和常用方法

Python 提供了两种基本的循环语句:for 和 while,功能灵活且语法简洁,适合处理各种迭代、条件、集合等操作。

一、for 循环:迭代序列的主力

语法结构

python 复制代码
for 变量 in 可迭代对象:
    循环体

示例

python 复制代码
for i in range(3):
    print(i)
# 输出:0 1 2

二、while 循环:基于条件持续执行

语法结构

python 复制代码
while 条件:
    循环体

示例

python 复制代码
i = 0
while i < 3:
    print(i)
    i += 1

三、常用的循环控制关键字

关键字 作用
break 立即结束整个循环
continue 跳过当前循环,进入下一轮迭代
else 循环正常结束(未遇到 break)时执行

示例(else 和 break):

python 复制代码
for i in range(5):
    if i == 3:
        break
    print(i)
else:
    print("循环正常结束")  # 不会执行

四、常用的循环技巧/方法

1. range() 生成数字序列

python 复制代码
for i in range(1, 6, 2):  # 起始=1,终止=6(不含),步长=2
    print(i)  # 输出:1, 3, 5

2. enumerate() 同时获取索引和值

python 复制代码
fruits = ["apple", "banana", "cherry"]
for idx, fruit in enumerate(fruits):
    print(idx, fruit)

3. zip() 同时遍历多个列表

python 复制代码
names = ["Alice", "Bob"]
ages = [25, 30]

for name, age in zip(names, ages):
    print(f"{name} is {age}")

4. reversed() 和 sorted() 进行逆序或排序遍历

python 复制代码
for x in reversed([1, 2, 3]):
    print(x)  # 3, 2, 1

for x in sorted([3, 1, 2]):
    print(x)  # 1, 2, 3

5. 循环嵌套(支持多层)

python 复制代码
for i in range(2):
    for j in range(2):
        print(f"i={i}, j={j}")

6. 列表推导式(简洁高效的 for)

python 复制代码
squares = [x**2 for x in range(5)]
print(squares)  # [0, 1, 4, 9, 16]

五、循环中的 pass 占位符

python 复制代码
for i in range(3):
    pass  # 占位,不做任何操作

六、结合字典/集合等类型

python 复制代码
d = {"a": 1, "b": 2}
for k, v in d.items():
    print(k, v)

s = {"apple", "banana"}
for item in s:
    print(item)
相关推荐
不能放弃治疗3 小时前
单 Agent 实现模式
后端
兵慌码乱4 小时前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
IT_陈寒5 小时前
Redis内存爆了,原来我漏掉了这个致命配置
前端·人工智能·后端
fliter6 小时前
最后一块拼图:用 bitvec 构造 IPv4 包,真正做出自己的 Ping
后端
luckdewei7 小时前
FastAPI 资产管理系统实战:复杂 ORM 关联、Alembic 迁移与 N+1 查询优化
python
fliter7 小时前
用 Rust 解析并生成 ICMP 包:checksum、nom 与 cookie-factory
后端
蝎子莱莱爱打怪7 小时前
XZLL-IM干货系列 03|消息 ID 设计:一个 UUID 搞不定的事,我用两个 ID 解决了
后端·面试·开源
fliter7 小时前
从 panic 到 Result:用 Rust 重新整理一个 ping 项目的错误处理
后端
森蓝情丶8 小时前
我给 AI 搭了个法庭:一个前端仔的 LangGraph 实战全记录
前端·后端
JensCS猿8 小时前
从 Spring Boot 回看 SSM 框架:手动挡与自动挡的驾驶哲学
后端