![](/img/trans.png)
[英]list[-1] yields “list index out of range” error in python program
[英]Why is there no list index out of range error in my Python program?
我是Python的新手,只学习了一周,所以如果答案对于那些有经验的人来说真的很明显,请原谅我。 我编写了一个简单的程序,如下所示,并且不明白为什么我没有得到“错误:列表索引超出范围”。
def sum13(nums):
sum=0
for i in range(1,len(nums)):
if nums[i]==13 or nums[i-1]==13:
sum=sum
else:
sum=sum+nums[i]
if len(nums)>=1:
if nums[0]==13:
sum=sum
else:
sum=sum+nums[0]
return sum
print(sum13([]))
在函数sum13(nums)
使用for循环时,我指示range(1,len(nums))
,并且索引1在空列表中不存在。 为什么no error: list index out of range
在空列表上使用函数sum13(nums)
时no error: list index out of range
?
因为
>>> len([])
0
和
>>> range(1, 0)
[]
(或python3中的空range
对象)
因此循环不会执行任何迭代,并且永远不会执行对nums[i]
的访问。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.