Error: IndexError: string index out of range. Trying to reverse the order of a list
本问题已经有最佳答案,请猛点这里访问。
我正在研究第7章"为每个人提供python"中的一个问题。程序的目的是获取一个文件,并以字符的相反顺序复制该文件。此代码在字符出现时列出它们,但当我使用时:
1 | reversedList = sorted(charList, key=itemgetter(1), reverse=True) |
我得到:indexerror:字符串索引超出范围。这是完整代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | from _operator import itemgetter def main(): file = input("Enter the name of the file to be reversed:") file = open(file,"r") charList = [] char = file.read(1) charList.append(char[0]) while char !="" : char = file.read(1) charList.append(char) reversedList = sorted(charList, key=itemgetter(1), reverse=True) file.close() main() |
请告诉我这里出了什么问题。
我不明白你为什么要分类,你可以简单地使用:
1 | reversedList = charList[::-1] |
一些有用但非常有效的方法是:
1 | sorted(charList, key=charList.index, reverse=True) |
尽管如此,我认为这本书不希望你使用
1 2 3 | reversedList = [] for i in range(len(charList)-1,-1,-1): reversedList.append(charList[i]) |