当我可以打印整个列表并自己查看我的索引在范围内时,为什么我会得到IndexError:list index超出范围?

时间:2016-03-31 13:44:37

标签: python list function indexing while-loop

这里是Python的新手。我想创建一个函数,它接受一个由数字组成的字符串,并将其转换为由数字组成的列表。

def AmbiguousEncoding(message): 
    digits = []
    i = 0
    while i < len(message):
        x = int(message[i])
        digits.append(x)
        i += 1

    return digits

对于message = "112935",我得到[1, 1, 2, 9, 3, 5]。但是,当我想使用其索引返回集合的特定元素时,会发生一些奇怪的事情。如果我return digits[0]我按预期得到1。但对于digits[1](或除0-1之外的任何索引),我收到此错误:

Syntax error
Traceback (most recent call last):
line 9:, in AmbiguousEncoding
    return digits[1]
IndexError: list index out of range

为什么它不返回1?从返回整个列表可以看出,1,2,3,4和5是有效索引。为什么会返回错误?

提前感谢您的帮助!

0 个答案:

没有答案