首页 > 解决方案 > 为什么特定的索引位置不适用于 .remove?

问题描述

我正在尝试做 Gradebook python 项目。出于某种原因,我收到特定索引的值错误。除了特定索引外,我尝试过的数组中的其他索引工作正常。谁能告诉代码有什么问题:

last_semester_gradebook = [
  ["politics", 80],
  ["latin", 96],
  ["dance", 97],
  ["architecture", 65],
]

# list called subjects
subjects = ["physics", "calculus", "poetry", "history"]

# list called grades
grades = [98, 97, 85, 88]

# gradebooks
gradebook = [
  [subjects[0], grades[0]],
  [subjects[1], grades[1]],
  [[subjects[2], grades[2]]],
  [subjects[3], grades[3]],
]

print(gradebook)

# Adding additional grades
gradebook.append(["Computer science", 100])
gradebook.append(["Visual arts", 93])

# adding 5 points
gradebook[-1][-1] = (93 + 5)
print(gradebook)

gradebook.remove(['poetry', 85])
print(gradebook)

除第二个索引外,其他索引位置有效。先感谢您。

标签: python

解决方案


重新格式化代码后,很明显你对第二个索引做了一些不同的事情:

gradebook = [
  [subjects[0], grades[0]],
  [subjects[1], grades[1]],
  [[subjects[2], grades[2]]],
  [subjects[3], grades[3]],
]

大概应该是:

gradebook = [
  [subjects[0], grades[0]],
  [subjects[1], grades[1]],
  [subjects[2], grades[2]],
  [subjects[3], grades[3]],
]

推荐阅读