我有以下我命名為“成績簿”的科目和成績串列
成績簿清單
我正在嘗試從子串列 [poetry, 85] 子串列中洗掉值 85
我可以使用以下語法洗掉子串列本身
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(最近一次呼叫最后一次):檔案“script.py”,第 15 行,在gradebook.remove( 2 ) IndexError: list index out of range
我不知道是否有可能,但我怎樣才能洗掉子串列中的那個專案(85)?
uj5u.com熱心網友回復:
在處理多維資料時,您需要導航到要操作的專案,然后子方法才能按預期作業。您的資料是一個串列串列,因此您需要讓程式知道您要對資料中的特定串列進行操作。您的資料如下。
gradebook = [[“physics”, 98], [“calculus”, 97], [“poetry”, 85], [“history”, 88]]
導航到 index 的專案,2因此回傳值是 list ["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()。
uj5u.com熱心網友回復:
所以串列的索引從 0 開始,所以你可以做 del Gradebook[1]
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/444431.html
