


















在日常生活中,我们经常遇到需要“挨个处理”的事情。比如:点名时挨个叫学生的名字、逛超市时把购物车里的商品挨个扫码结账。
在Python中,处理这种“挨个遍历”的任务,for 循环是绝对的王者!它的核心思想是:“把队伍里的每一个元素都请出来,挨个处理一遍”。
for 循环的基本语法与核心概念for 循环的蓝图长这样:
for 临时变量 in 可迭代对象(比如列表、字符串):
# 缩进的代码块
# 每次拿出一个元素,就会执行一次这里的代码新手必读: 这里的 临时变量 是你自己起的名字(叫 i、item、fruit 都可以)。你可以把它想象成一个“抓手”,它每次会从集合里抓取一个东西出来,用完就去抓下一个。
假设你有一个水果筐(列表),我们用 for 循环把里面的水果挨个拿出来吃掉:
fruits =["苹果", "香蕉", "葡萄", "西瓜"]
# fruit 就是那个“临时变量”,每次代表列表里的一个水果
for fruit in fruits:
print(f"我正在吃:{fruit} 🍉")
print("水果全吃光啦!")(看!不需要像 while 循环那样自己维护一个 count += 1,for 循环会自动帮你往后走!)
字符串就像是一个装着许多字符的盒子,for 循环也可以把它们挨个拆开:
for letter in "Python":
print(f"当前字母是: {letter}")for 循环的最佳拍档:range() 函数如果我们不想遍历列表,只是单纯想“重复执行某段代码N次”,或者想“从 1 数到 100”,就需要请出 for 循环的黄金搭档:range() 函数。它就像是一个流水线机器,专门负责生产连续的数字。
range(5):重复 5 次(生成 0, 1, 2, 3, 4)range(1, 6):从 1 数到 5(顾头不顾尾,包含起点1,不包含终点6)range(1, 10, 2):跳着数(生成 1 到 10 之间的所有奇数:1, 3, 5, 7, 9)# 打印 3 次“你好”
for i in range(3):
print("你好,Python!")很多学过 C++ 或 Java 的朋友会发现,Python 的 for item in list: 是直接把“值”拿出来,没有自带序号。但在实际开发中,我们非常频繁地需要知道当前元素排在第几个。
别担心,Python 为你准备了两种完美的解决方案:
enumerate() 函数(强烈推荐)enumerate 的英文意思是“枚举”。你可以把它想象成一个“贴标签机”,它会在你遍历列表的同时,自动给每一个元素贴上递增的序号。
heroes =["钢铁侠", "蜘蛛侠", "蝙蝠侠"]
# index 接收序号,hero 接收具体的英雄名字
for index, hero in enumerate(heroes):
print(f"编号 {index} 的英雄是:{hero}")
# --- 输出结果 ---
# 编号 0 的英雄是:钢铁侠
# 编号 1 的英雄是:蜘蛛侠
# 编号 2 的英雄是:蝙蝠侠💡 神奇的小技巧: 如果你是做界面展示,希望序号从 1 开始给普通用户看,可以直接加上 start=1:
for index, hero in enumerate(heroes, start=1):
print(f"第 {index} 名:{hero}")
# 输出:第 1 名:钢铁侠 ...range(len())思路是:先用 len() 获取列表有多长,再用刚刚学过的 range() 生成一串序号,最后通过序号去列表里拿东西。
当你必须要通过序号去“修改”原列表里的数据时,这种写法最合适:
scores = [80, 90, 85]
# len(scores) 是 3,range(3) 会生成 0, 1, 2
for i in range(len(scores)):
# i 是序号,我们通过 scores[i] 拿到具体的分数并直接修改它
scores[i] = scores[i] + 5
print("加分后的成绩单:", scores)
# 输出:加分后的成绩单: [85, 95, 90]学了理论,我们来看看 for 循环在真实写代码时能帮我们解决什么问题。
cart_prices =[12.5, 30.0, 9.9, 50.5, 8.0]
total_money = 0 # 准备一个空钱包来装总金额
for price in cart_prices:
total_money += price # 挨个加到钱包里
print(f"💳 您好,您一共消费了:{total_money} 元。")for 循环里同样可以使用 break(提前彻底终止)和 continue(跳过本次,继续下一次)。
users =["张三", "李四", "王五", "黑客", "赵六"]
for user in users:
if user == "黑客":
print("🚨 警告:发现黑客!停止后面的所有问候!")
break # 遇到黑客,直接关闭整个循环
if user == "王五":
print("👑 尊贵的VIP王五,您好!")
continue # 单独问候完王五,跳过下面的普通问候,直接去接待下一个人
print(f"普通用户 {user},欢迎登录!")for 还是 while?很多新手会迷茫:什么时候用 for,什么时候用 while?记住这个简单的口诀:
for 循环。while 循环。此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。