无法在python中插入到2d列表中

2024-09-30 04:26:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在从文本文件读取的数据表的每一行的第一列中插入一个元素

grades = [[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],
               [0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],
               [0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0]]
student = ["Alice Arnold", "Cory Brown", "Sean Douglas", "Pete Douglas", "Mary Fleming", "Joel Jacob",
               "Jeramy Ghouse", "Hansie Holder", "Loyola Ingenious", "Gary Jackson", "Russell Jacobson",
               "Dustan Kellart", "Carl Melone" , "Samuel Peterson", "Alec Stewart"]
code = ""
s=0
for i in file:
    pos = 9
   
    code = file.read(pos)
    info = code.split("\n")
    indexRow = info.pop()
    row = int(indexRow[0:2])   #slice the first 2 digits for row index
    col = int(indexRow[2:4])   #slice the other 2 digits for the column index 
    gr = float(indexRow[5:9])   #slice the grade
    grades[row][col] = gr
    grades[row][0] = student[s]
    s+=1

文本文件有两列,一列是四位代码,必须将其分解为2d列表中位置的适当索引。另一个是成绩。每一行都是学生的成绩,我想在每一行第0列的列表开头插入学生的名字

我认为grades[row][0] = student[s]是向列表中插入项的合法方式,但我一直在这一行中遇到错误“IndexError:列表索引超出范围”。任何事都值得感激


Tags: theposinfo列表forcodeslicestudent

热门问题