Tags: 数据类型 AI 人工智能

Python for循环的常见技巧与注意事项

Python中,for循环专门用来遍历序列(列表、元组、集合、字典或字符串等),并在序列的每个元素上执行某些操作。与其他语言的for循环不太一样,Python的for更像是“迭代器”,无需事先指定索引值。

1. 基本for循环语法

如果你想逐个查看列表中的每个元素,可以直接:

fruits = ["pingguo", "xiangjiao", "yingtao"]
for x in fruits:
    print(x)

上面会依次输出:pingguoxiangjiaoyingtao

2. 字符串也是可迭代对象

字符串在Python里也被视作一个序列,每次迭代一个字符:

for ch in "xiangjiao":
    print(ch)

会分别输出“x”、“i”、“a”...直到字符串结束。

3. break语句:提前结束循环

如果希望在遍历过程中满足某条件时立刻停止,可用break

fruits = ["pingguo", "xiangjiao", "yingtao"]
for x in fruits:
    print(x)
    if x == "xiangjiao":
        break

它会在x等于“xiangjiao”后停止,后面的yingtao不会再输出。

3.1 break放在print之前

fruits = ["pingguo", "xiangjiao", "yingtao"]
for x in fruits:
    if x == "xiangjiao":
        break
    print(x)

上面这种写法遇到“xiangjiao”就立即停止循环,也就不会打印“xiangjiao”。只会输出“pingguo”。

4. continue语句:跳过当前这次循环

如果只想跳过当前这次循环,不结束整个循环,可用continue

fruits = ["pingguo", "xiangjiao", "yingtao"]
for x in fruits:
    if x == "xiangjiao":
        continue
    print(x)

这样,xiangjiao就会被跳过,最终只输出“pingguo”和“yingtao”。

5. 使用range()函数遍历指定次数

有时你想循环一定次数而不关心具体序列,可以用range()函数:

for x in range(6):
    print(x)

上面从x=0x=5,不包括6。若需要从某个数起始,可以指定起始和结束:

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

再加一个第三参数则可指定步长:

for x in range(2, 30, 3):
    print(x)
# 以3为步长

6. for循环的else子句

在for循环后面可以跟一个else,当for循环不被break打断,正常结束时会执行else中的代码:

for x in range(6):
    print(x)
else:
    print("循环结束")

若循环遇到break提前退出,则else不会执行。

6.1 例子:循环被break打断

for x in range(6):
    if x == 3:
        break
    print(x)
else:
    print("不会执行这句话,因为被break打断")

7. 嵌套循环(Nested Loops)

可以在for循环内部再写一个for循环:

adj = ["hongse", "daxing", "haochi"]
fruits = ["pingguo", "xiangjiao", "yingtao"]
for x in adj:
    for y in fruits:
        print(x, y)

这里外层循环每次拿一个形容词,内层循环会遍历所有水果,打印出各种组合。

8. pass语句

如果你想定义一个for循环,但里面暂时没想好要写什么,可用pass占位,避免语法报错:

for x in [0, 1, 2]:
    pass

总结

  • for in:遍历列表、元组、集合、字典或字符串,依次访问序列中的元素。
  • range():循环一定次数,支持自定义起始、结束和步长。
  • break / continue:控制循环流程,提前终止或跳过当前迭代。
  • else子句:for正常结束才会执行,若中途break则跳过。
  • 嵌套for:在外层for里再写一个for,可实现多维度迭代。
  • pass:占位用,避免语法错误。

当你掌握了Python的for循环,加上range()breakcontinue等功能,就能更灵活地处理各类迭代任务,提高编程效率。