for in语句逻辑是什么?

img

img


for_in_句式的逻辑是怎么样的?
我不小心把print(b)打成了print(a),结果两个都可以运行起来,结果也不一样,想问一下其中的逻辑

for a in b:
print(a)
这是遍历操作,从可迭代对象(列表,元组,range()函数,等等)b中逐个取出元素,赋值给循环变量a.
比如 b = [1,2,3,0]
那么循环执行4次,循环变量的值依次被赋值为1,2,3,0, 逐个用print(a)输出

for a in b:
print(b)
这样循环依旧执行4次,次数由b的长度,即b中元素总个数决定
但每次取出的a没用到,每次都输出列表b,输出列表b四次。

for a in b
从b中取出元素,一个个的赋值给a