对于循环1
li=[]
for i in li:
li.append(i**2)
print (li)
"""Error...: Traceback (most recent call last):
File "<ipython-input-29-c20734da477f>", line 2, in <module>
li.append(i**2)
KeyboardInterrupt"""
对于循环2
li=[]
for i in range(0,n):
li.append(i**2)
print (li)
两者都应该有效但是第一循环进入无限循环。为什么?
答案 0 :(得分:0)
第一个循环甚至不执行,因为li
为空。
尽管如此,如果li
不为空,例如li = [1]
,则会不断向其添加元素,以便for i in li
始终具有要迭代的元素。你正在通过它来增加列表。
使用范围,可以将迭代次数限制为该特定范围。在遍历项目范围后,循环停止。
简而言之,这些不是类似的循环。