索引错误:通过 for 循环列出超出范围错误的索引



我正在运行以下代码:

import tensorflow as tf
from tensorflow import keras
import pandas as pd
datacsv = pd.read_csv("games.csv", sep=",")
data = datacsv["moves"]
winners = datacsv["winner"]
victory_stat = datacsv["victory_status"]
winnercolor = []
gmoves = []  # holds good moves
movesfinal = []  # holds best moves
i = 0
for i in range(0, 20057):
winnercolor.append(winners[i])
for i in range(0, len(winnercolor)):
if winnercolor[i] == 'black':
temp_move = data[i]
gmoves.append(temp_move)
if victory_stat[i] == 'mate':
temp_fmove = data[i]
movesfinal.append(temp_fmove)

gmoves.clear()
for y in (0, len(gmoves)-1):
oldlist = str(gmoves[y])
newlist = oldlist.split(sep=" ")
gmoves.append(newlist)
print(gmoves)

但是我收到以下错误:

Traceback (most recent call last):
File "/Users/name/Documents/Python/AI/Chess/Chess/AITest.py", line 28, in <module>
oldlist = str(gmoves[y])
IndexError: list index out of range

我不确定我做错了什么,尽管我认为这与 for 循环迭代太远有关,尽管我不确定为什么会发生这种情况。请帮忙!

gmoves.clear()清空列表,因此元组(0, len(gmoves)-1)的计算结果将(0, -1)0-1都不能成为空列表的索引(实际上什么都不能).
奇怪的是,在使用它之前删除了gmoves中的所有元素。

最新更新