列表:-为什么描述中的第一个 for 循环以无限循环结束,而第二个 for 循环工作得很好
Lists:-Why does 1st for loop in the description ends up infinite loop while 2nd for loop works really well
对于循环 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)
两者都应该有效,但第一个 for 循环进入无限 loop.Why??
第一个循环甚至没有执行,因为 li
是空的。
尽管如此,在 li
不为空的情况下,例如 li = [1]
,您会不断向其中添加元素,因此 for i in li
将始终有要迭代的元素通过。您在浏览列表的同时也在增加它。
使用范围,您可以将迭代次数限制在该特定范围内。遍历项目范围后,循环停止。
简而言之,这些不是相似的循环。
对于循环 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)
两者都应该有效,但第一个 for 循环进入无限 loop.Why??
第一个循环甚至没有执行,因为 li
是空的。
尽管如此,在 li
不为空的情况下,例如 li = [1]
,您会不断向其中添加元素,因此 for i in li
将始终有要迭代的元素通过。您在浏览列表的同时也在增加它。
使用范围,您可以将迭代次数限制在该特定范围内。遍历项目范围后,循环停止。
简而言之,这些不是相似的循环。