Python嵌套for循环中range参数非固定数值时的含义疑问
Python嵌套循环中
range(i)的含义解释 你提到的代码如下:
for i in range(1, 4): for j in range(i): print(i)
首先明确Python中range(n)的基础逻辑:当只传入1个参数给range时,会生成从0开始到n-1结束的整数序列,总共有n个元素,也就是说for 变量 in range(n)的循环体默认会执行n次。
这里内层循环的参数i是外层循环每次迭代的当前值,相当于内层循环的执行次数会跟着外层的i动态变化,我们可以逐次拆解完整执行过程:
- 外层第一次循环:
i = 1
内层循环变为for j in range(1),只会执行1次,打印1次当前i的值,输出1 - 外层第二次循环:
i = 2
内层循环变为for j in range(2),会执行2次,连续打印2次当前i的值,输出2个2 - 外层第三次循环:
i = 3
内层循环变为for j in range(3),会执行3次,连续打印3次当前i的值,输出3个3
最终这段代码的输出结果为:
1 2 2 3 3 3
额外说明:这段代码里内层循环变量j没有被实际使用,仅用来控制打印次数,如果你不需要用到循环变量,也可以把内层循环写成for _ in range(i),用下划线作为占位符表示该变量后续不会被调用。
内容的提问来源于stack exchange,提问作者Gulnar Oğuz
相关产品推荐
相关产品推荐

