我是一名 Python 初学者,遇到了一个问题,我无法解决列表索引超出范围的问题。
originalList = [['a','b'],['c','d'],['e','f']]
outputList = []
for i in range(len(originalList)):
if i == len(originalList):
outputList.append([originalList[i],originalList[0]])
els:
outputList.append([originalList[i], originalList[i+1]])
print(outputList)
我需要输出:
outputList = [[['a','b'],['c','d']],[['c','d'],['e','f']],[['e','f'],['a','b']]]
但是,当我尝试运行此代码时,它在第 7 行错误处为我提供了超出范围的列表索引。 我不知道为什么会发生这个错误,如果 i 等于列表的长度,python 甚至不应该在第 7 行运行代码。
答案 0 :(得分:0)
只要改变
if i == len(originalList):
到 if i == len(originalList)-1:
说明: 列表从索引 0 开始,因此包含 N 个元素的列表将具有从 0 到 N-1 的所有索引,这意味着您的最后一个元素将位于索引 N-1。
答案 1 :(得分:0)
我设法通过更改第 7 行来解决这个问题:
outputList.append([originalList[i], originalList[i+1]])
为此:
outputList.append([originalList[i], originalList[-1-i]])