Python 子列表删除方法

Python Sublists Remove Method

我有以下主题和成绩列表,我将其命名为“gradebook”

gradebook list

我正在尝试从子列表 [poetry, 85] 中删除值 85 sublist

我可以使用以下语法删除子列表本身

gradebook.remove(["poetry", 85])

我似乎无法删除 85

我试过使用以下语法

gradebook.remove([85]) 

但我收到以下错误

> Traceback (most recent call last):   File "script.py", line 15, in
> <module>
>     gradebook.remove([85])  ValueError: list.remove(x): x not in list

我也试过用下面的

gradebook.remove([2][1]) 

相反,我收到以下错误

Traceback (most recent call last): File "script.py", line 15, in gradebook.remove(2) IndexError: list index out of range

我不知道是否可以,但是我怎样才能删除子列表中的项目 (85)?

因此列表的索引从 0 开始,因此您可以只执行 del gradebook[1]

处理 multi-dimensional 数据时,您需要先导航到要操作的项目,然后子方法才能按预期工作。您的数据是 of lists 的列表,因此您需要让程序知道您要对数据中的特定列表进行操作。您的数据如下。

gradebook = [[“physics”, 98], [“calculus”, 97], [“poetry”, 85], [“history”, 88]]

导航到索引 2 的项目,因此返回值是列表 ["poetry", 85]。然后就可以调用.remove(85)方法对这个列表进行单独操作了。

# Define gradeboook
gradebook = [[“physics”, 98], [“calculus”, 97], [“poetry”, 85], [“history”, 88]]
# Get the index of your list
index = gradebook.index(["poetry", 85])
# Navigate and remove 85
gradebook[index].remove(85)

最后两步也可以一行完成:

gradebook[gradebook.index(["poetry", 85])].remove(85)

这是可行的,因为调用 gradebook[gradebook.index(["poetry", 85])] 时返回的项目是列表 ["poetry", 85] 本身。以这种方式调用后,您可以根据需要使用 remove() 对其进行修改。