python for-in 循环详解:从基础到本质
一、for-in 基本语法:循环 n 次(range() 用法)
for-in 循环的核心是“遍历可迭代对象”,如果想循环固定的 n 次,可以用 range(n) 生成一个从 0 到 n-1 的整数序列。
语法格式:
for 变量 in range(n):
# 循环体代码,会执行 n 次
示例:循环 3 次并打印数字
for i in range(3):
print(i) # 输出:0、1、2
说明:range(3) 等价于 [0,1,2],变量 i 依次取序列中的每个值,每次取值后执行循环体,直到序列遍历结束。
二、for-in 遍历列表:直接取列表元素
当 in 后面跟列表时,for-in 会直接遍历列表中的每个元素,无需通过索引访问。
语法格式:
for 元素 in 列表:
# 循环体代码,元素依次等于列表中的每个值
示例:遍历水果列表并打印
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
print(fruit) # 输出:苹果、香蕉、橙子
对比索引遍历:如果用 range(len(列表)),可以通过索引取元素,但 for-in 直接遍历元素更简洁:
# 索引遍历
for i in range(len(fruits)):
print(fruits[i]) # 效果同上,但代码更长
三、for-in 的本质:循环后变量的值
for-in 循环中,变量是“临时赋值”,每次循环会将可迭代对象的下一个元素赋给变量。循环结束后,变量的值会保留最后一次赋值的结果。
示例 1:变量未提前定义
for i in range(3):
pass # 空循环,仅执行赋值
print(i) # 输出:2
示例 2:变量提前定义
即使变量在循环前已定义,循环中仍会被重新赋值,循环后保留最后一个值:
i = 100 # 提前定义 i=100
for i in range(3):
pass
print(i) # 输出:2
本质总结:for-in 的变量没有“作用域限制”,循环过程中会覆盖原有值,循环结束后变量不消失,值为最后一次遍历的元素。
四、扩展:其他可迭代对象
for-in 不仅能遍历 range 和列表,还能遍历字符串、元组、字典等可迭代对象,核心逻辑都是“依次取元素赋值给变量”。
示例:遍历字符串
for char in "hello":
print(char) # 输出:h、e、l、l、o
到此这篇关于python for循环的本质详解的文章就介绍到这了,更多相关python for循环内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论