主题
循环
for 遍历可迭代对象,不是传统的计数器循环。需要索引使用 enumerate();并行遍历使用 zip();遍历字典项使用 items()。
py
names = ["Ada", "Guido"]
for index, name in enumerate(names, start=1):
print(index, name)
for key, value in {"env": "prod"}.items():
print(key, value)range(stop) 生成从 0 到 stop - 1 的整数范围;它不是列表。while 适用于终止条件无法直接由迭代对象表达的场景。
py
attempts = 0
while attempts < 3:
attempts += 1
if request_succeeded():
break
else:
raise RuntimeError("retry limit reached")循环的 else 仅在循环没有被 break 中断时执行。遍历时不要直接修改同一个列表或字典;遍历副本或先收集要删除的项。
推导式适合简单的映射或过滤;包含多层逻辑、异常处理或副作用时改用普通循环。
py
even_squares = [number**2 for number in range(10) if number % 2 == 0]