【发布时间】:2017-11-07 17:56:43
【问题描述】:
当我尝试在 Python 中使用 for 循环时,我无法理解收到的错误。这是导致问题的循环:
list = ["1", "2", "3"]
numList = [int(i) for i in list]
product = 1
for i in numList:
product = product * numList[i]
错误是:IndexError: list index out of range
我能够通过使用以下while 循环来解决问题:
list = ["1", "2", "3"]
numList = [int(i) for i in list]
product = 1
i = 0
while i < len(numList):
product = product * numList[i]
i += 1
for 循环有什么问题导致错误?
【问题讨论】:
-
您正在用 for 循环案例中的内容为列表编制索引。
3不是有效索引。 -
也许尝试在每种情况下打印
i的值。 -
应该是
product = product * i,因为i是列表中的数字。给它一个更好的名字。 -
数组在 Python 中为 0,您将 i 循环为 1,2,3,列表数组只有索引 0,1,2
-
感谢您的回复。
list中的项目并不总是与索引相同。例如:list = ["15", "2", "129"]。我曾经打印出i,但它一定是在一个迭代中,我在代码中有一个while循环而不是for循环。
标签: python for-loop syntax while-loop