我无法理解为什么我的列表超出范围。
我现在一直坚持这个问题,不能解决问题所在。
显然我是编程新手。
def list(self,filename):
with open(filename, "r") as listTeams:
teamCount = 0
indexList = []
unsortedList = []
lines = listTeams.readlines()
for line in open(filename):
teamCount += 1
listTeams.seek(0)
for i in range(0, teamCount):
tempStr = listTeams.readlines(i)
tempStr = "".join(tempStr)
indexList = tempStr.split(" ")
for i in range(0,i):
print(i)
unsortedList[i] = Team(indexList[0], indexList[1], indexList[2], indexList[3], indexList[4], indexList[5], indexList[6])
print(unsortedList[i])
return
我收到此错误消息:
unsortedList[i] = Team(indexList[0], indexList[1], indexList[2], indexList[3], indexList[4], indexList[5], indexList[6])
IndexError: list index out of range
答案 0 :(得分:1)
您无法为列出不存在的项目分配值。您可以使用这两种方法之一来解决此问题。 一,你可以使用这个命令unsortedList.append(Team(indexList [0],indexList [1],indexList [2])。 要么 其次,您可以使用命令unsortedList = numpy.zeros(i)创建一个列表apriori,其中包含与列表将包含的零一样多的零,它将创建一个包含i个零的列表,然后您可以使用您的代码替换这些零
答案 1 :(得分:0)
您无法分配到尚未存在的列表元素,您可以使用追加方法
unsortedList.append(Team(indexList[0], indexList[1], indexList[2], indexList[3], indexList[4], indexList[5], indexList[6]))
在通过索引len(indexList)访问之前还要检查数组中的项目数量给出数组中的项目数,在{{1}中获取项目0到6之前检查是否超过6 }