0
我試圖做一個程序,將讀取名稱和數字的文本文件,並將其與名稱和數字的2d數組,然後從數組中刪除項目if數字爲1.但是,我寫入的用於訪問2d數組中索引的代碼不起作用,並且引發錯誤「IndexError:list index out of range」。這是代碼不工作的模塊:Python的多維數組列表索引超出範圍
for i in range(x):
list2[i][1] = int(list2[i][1])
if int(list2[i][1]) == 1:
list2.pop(i)
這是回溯:
File "/Users/cat/PycharmProjects/myCS106/Names.py", line 16, in updateNames
list2[i][1] = int(list2[i][1])
IndexError: list index out of range
這是列表2是什麼樣子的例子:
[["John Doe","1"],["Jane Smith","0"],["Firstname Lastname","1"]]
什麼我做錯了,我如何正確訪問數組中的項目的第二部分(在這種情況下,數量)?
您在迭代時正在更改列表的長度。它通常總是會導致問題。有什麼合乎邏輯的理由需要這樣做嗎? – Luca
列表理解可能是一個乾淨的方法,可以在不使用pop()的情況下刪除'1'值: list_without_ones = [元素 對於列表2中的元素 如果元素[1]!= 1]''。也就是說,創建一個'list2'副本來過濾不需要的值 –