【问题标题】:Lists:-Why does 1st for loop in the description ends up infinite loop while 2nd for loop works really well列表:-为什么描述中的第一个 for 循环会以无限循环结束,而第二个 for 循环工作得非常好
【发布时间】:2017-07-28 13:43:16
【问题描述】:

for 循环 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"""

for 循环 2

li=[]

for i in range(0,n):
    li.append(i**2)

print (li)

两个都应该工作,但第一个 for 循环进入无限循环。为什么??

【问题讨论】:

    标签: list python-3.6


    【解决方案1】:

    第一个循环甚至没有执行,因为li 是空的。

    尽管如此,如果li 不为空,例如li = [1],您会不断地向其中添加元素,因此for i in li 将始终有元素要遍历。您在浏览列表时正在增加列表。

    使用范围,您可以将迭代次数限制在该特定范围内。遍历项目范围后,循环停止。

    简而言之,这些不是相似的循环。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-04
      • 1970-01-01
      • 2017-04-27
      • 1970-01-01
      • 2019-12-23
      • 1970-01-01
      • 2016-02-11
      相关资源
      最近更新 更多