LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

Python for 循环:从入门到精通,一文吃透!

admin
2025年9月18日 17:7 本文热度 70

如果你刚接触 Python,可能很快就会遇到一个绕不开的关键字——for。 有人说,Python 的 for 循环就像是一把“万能钥匙”,不管是数字、字符串、列表、字典,还是更复杂的数据结构,它都能轻轻松松帮你解锁。

我第一次用 Python 写 for 循环时,感觉就像小时候数台阶:

  • 以前用 while 循环,要自己算条件、手动加 1,很容易掉坑里。
  • 但 Python 的 for 循环,就像“自动扶梯”,你只需要告诉它要走几级台阶,它会把你送到终点,顺带还能报个数。

今天这篇文章,我会带你把 for 循环的方方面面都过一遍,保证你看完之后,不仅能写,还能用好。



一、for 循环的基本用法

先上最核心的语法:

for 变量 in 序列:
    # 循环体
else:
    # 循环正常结束后执行

和 while 循环比起来,for 循环更“优雅”,特别适合用在 已知要循环多少次 或者 要遍历一个集合 的场景。

比如最经典的:打印 1 到 4。

for i in range(15):
    print(i)
else:
    print('The for loop is over')

输出:

1
2
3
4
The for loop is over

看出来了吗?for 循环跑完之后,还能接一个 else。这个 else 只有在循环 没有被 break 打断 的情况下才会执行。

这小细节,很多新手一开始都会忽略。


二、range():for 循环的好搭档

如果说 for 是“万能钥匙”,那 range() 就是最常见的“锁芯”。

它能快速生成一个整数序列,有三种用法:

  1. range(stop):默认从 0 开始,到 stop-1 为止。
for i in range(5):
    print(i)  # 输出0,1,2,3,4
  1. range(start, stop):从 start 开始,到 stop-1。
for i in range(26):
    print(i)  # 输出2,3,4,5
  1. range(start, stop, step):再加上步长。
for i in range(1102):
    print(i)  # 输出1,3,5,7,9

是不是特别像小时候玩“跳房子”?你可以一格一格数,也可以隔一格跳。


三、for 循环能遍历啥?

Python 的 for 循环简直就是个“社交达人”,只要是可迭代的对象,它都能聊。 最常见的就是字符串、列表和字典。

1. 遍历字符串

word = "Python"
for letter in word:
    print(letter)

输出:

P
y
t
h
o
n

字符串被拆开,字母一个个输出,就像你逐个拆盲盒。


2. 遍历列表

fruits = ['apple''banana''orange']
for fruit in fruits:
    print(f"I like {fruit}")

输出:

I like apple
I like banana
I like orange

是不是很适合写购物清单提醒?


3. 遍历字典

person = {'name''Alice''age'25'city''New York'}
for key in person:
    print(f"{key}{person[key]}")

# 更好的方式
for key, value in person.items():
    print(f"{key}{value}")

两种写法,一种是“逐个问名字”,另一种是“直接报全套”,后者更优雅。


四、嵌套 for 循环:乘法表的秘密

如果 for 循环是单人舞,那嵌套 for 就是集体舞。

比如小学时学过的乘法表,用 Python 写就是这样:

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

输出的效果就是熟悉的九九乘法表。 每次看到这种代码,我都觉得编程和童年数学课产生了奇妙的连接。


五、for-else:隐藏的宝藏

你知道吗?Python 的 for 循环居然还能搭配 else。 这个 else 只有在循环 正常结束 的时候才会执行,一旦中途被 break 打断,就不会触发。

举个例子:判断质数。

for n in range(210):
    for x in range(2, n):
        if n % x == 0:
            print(f"{n} equals {x} * {n//x}")
            break
    else:
        print(f"{n} is a prime number")

输出:

2 is a prime number
3 is a prime number
4 equals 2 * 2
5 is a prime number
6 equals 2 * 3
...

很巧妙吧?内层循环如果没有 break,才会执行 else。 这就是 Python 的“优雅黑魔法”。


六、高级玩法:让 for 更有范儿

1. enumerate:要值也要索引

fruits = ['apple''banana''cherry']
for index, fruit in enumerate(fruits):
    print(f"Index {index}{fruit}")

输出:

Index 0: apple
Index 1: banana
Index 2: cherry

再也不用手动写 i += 1 了。


2. zip:并行迭代

names = ['Alice''Bob''Charlie']
ages = [243028]
for name, age in zip(names, ages):
    print(f"{name} is {age} years old")

输出:

Alice is 24 years old
Bob is 30 years old
Charlie is 28 years old

两个列表“手牵手”,一起走。


3. 列表推导式:一句话搞定循环

# 传统方式
squares = []
for x in range(10):
    squares.append(x**2)

# 列表推导式
squares = [x**2 for x in range(10)]

一句话代替 4 行,简洁到飞起。


七、实战案例

案例 1:文件单词统计

word_count = {}
with open('example.txt''r'as file:
    for line in file:
        words = line.strip().split()
        for word in words:
            word_count[word] = word_count.get(word, 0) + 1

print(word_count)

一个小小的 for 循环,就能帮你完成简易版的“词频分析器”。


案例 2:学生成绩平均分

students = [
    {'name''Alice''scores': [859088]},
    {'name''Bob''scores': [768279]},
    {'name''Charlie''scores': [918993]}
]

for student in students:
    avg = sum(student['scores']) / len(student['scores'])
    print(f"{student['name']}'s average score: {avg:.2f}")

输出:

Alice's average score: 87.67
Bob's average score: 79.00
Charlie's average score: 91.00

是不是很像老师在批改作业?


八、for 循环的注意事项

  1. 别在遍历时修改列表: 一边迭代一边修改,可能会出现“漏掉”或“乱序”的情况。

  2. break/continue 慎用: 太多跳转会让代码变得难以理解。

  3. 性能要考虑: 大数据量时,可以考虑用生成器表达式来节省内存。

  4. 选择合适的循环: 确定要遍历序列?用 for。 不确定次数?用 while。


九、写在最后

Python 的 for 循环,看似简单,其实很强大。 它既能处理日常的小任务(比如遍历列表),也能支撑复杂的数据处理(比如词频统计)。

更重要的是,它让代码变得“直观、干净、易读”。

记住一句话: 👉 当你需要“遍历”的时候,第一时间想起 for 循环。


阅读原文:https://mp.weixin.qq.com/s/6je11d69VM97jiS8d8Uk6g


该文章在 2025/9/18 17:49:33 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved