Skip to main content
 首页 » 编程设计

python之为什么我的 Python 程序没有出现 list index out of range 错误

2025年05月04日15bonelee

我是 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不存在一个空列表。为什么在空列表上使用函数 sum13(nums) 时,no error: list index out of range?

请您参考如下方法:

因为

>>> len([]) 
0 

和

>>> range(1, 0) 
[] 

(或 python3 中的空 range 对象)

因此循环不执行任何迭代,并且永远不会执行对 nums[i] 的访问。