html怎么循环输出_for 循环疑难点

for循环

1.如下代码会打印几次呢?

for i in range(4):
    print(i)
    i = 10

会打印4次。

905b2dfbf0687fb44dcb66fe26c0ac9f.png

第一次循环 :i = 0,

print输出后,i = 10 覆盖掉 i = 0。

当 i = 10 进入for循环前之时,for循环再次给i 赋值: i = 1 重新覆盖掉 i = 10。循环往复。

2.for循环内部的初始化

dict1 = {'id':0,'name':''}
list1 = []

for i in range(1,4):
    dict1['id'] = i
    list1.append(dict1)
    print(list1)

输出:

5dfee65fe5eca068775d2f98c7384ecc.png

d3880a6e7775b00b87c8856a425a10bd.png
http://www.pythontutor.com/visualize.html#code=dict1%20%3D%20%7B'id'%3A0,'name'%3A''%7D%0Alist1%20%3D%20%5B%5D%0A%0Afor%20i%20in%20range%281,4%29%3A%0A%20%20%20%20dict1%5B'id'%5D%20%3D%20i%0A%20%20%20%20list1.append%28dict1%29%0A%20%20%20%20print%28list1%29&cumulative=true&curInstr=15&heapPrimitives=nevernest&mode=display&origin=opt-frontend.js&py=3&rawInputLstJSON=%5B%5D&textReferences=false

对比:

list1 = []

for i in range(1,4):
    dict1 = {'id':0,'name':''}
    dict1['id'] = i
    list1.append(dict1)
    print(list1)

输出:

d5525a552de84c233371d01ffca18e06.png

adc76e8a8b01305a536a52316b9a162e.png
http://www.pythontutor.com/visualize.html#code=list1%20%3D%20%5B%5D%0A%0Afor%20i%20in%20range%281,4%29%3A%0A%20%20%20%20dict1%20%3D%20%7B'id'%3A0,'name'%3A''%7D%0A%20%20%20%20dict1%5B'id'%5D%20%3D%20i%0A%20%20%20%20list1.append%28dict1%29%0A%20%20%20%20print%28list1%29&cumulative=true&curInstr=15&heapPrimitives=nevernest&mode=display&origin=opt-frontend.js&py=3&rawInputLstJSON=%5B%5D&textReferences=false

dict1 放置于for循环内部后,在每一次 i 被重新赋值时,dict1也再一次重新赋值'='。一旦重新赋值,则id地址不同。

小知识点:

dict1 = {'id':0,'name':''}
list1 = []

for i in range(1,4):
    i = dict1['id']   #这一句 ,赋值左右对调后,输出的变化
    list1.append(dict1)
    print(list1)

输出:

a42dcd2fae891e75c10ed8c22192211f.png

b688c9c96f0b66764bd55a4571245723.png
http://www.pythontutor.com/visualize.html#code=dict1%20%3D%20%7B'id'%3A0,'name'%3A''%7D%0Alist1%20%3D%20%5B%5D%0A%0Afor%20i%20in%20range%281,4%29%3A%0A%20%20%20%20i%20%3D%20dict1%5B'id'%5D%20%20%20%0A%20%20%20%20list1.append%28dict1%29%0A%20%20%20%20print%28list1%29&cumulative=true&curInstr=15&heapPrimitives=nevernest&mode=display&origin=opt-frontend.js&py=3&rawInputLstJSON=%5B%5D&textReferences=false

将id = 0 赋值给了 i,每次被赋值 i=1,2,3后,i 被 id = 0 覆盖掉了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值