Python返回IndexError:字符串索引超出此功能的范围

时间:2016-12-29 01:40:45

标签: python

我不明白为什么这段代码不起作用:

def reverse(string):
    rev_string = []
    for c in range(len(string)):
        rev_string[c]=string[(len(string))-c]
    str(rev_string)
    return rev_string
print(reverse("google"))

并抛出此错误消息:

  

IndexError:字符串索引超出范围

2 个答案:

答案 0 :(得分:0)

您的代码中存在三个问题。

  1. rev_string是一个无法为其编制索引的空列表,您可以使用append代替;

  2. 您需要使用''.join代替str从列表中创建字符串;

  3. 列表索引为0,因此最大索引为len(string) - 1

  4. def reverse(string):
    
        rev_string = []
        for c in range(len(string)):
            rev_string.append(string[len(string)-c-1])
    ​
        return ''.join(rev_string)
    
    print(reverse("google"))
    # elgoog
    

答案 1 :(得分:0)

当len = 6且c = 0时。 你会得到indexerror,因为没有index6