我是編程的新手,并試圖了解事情是如何作業的。我無法讓我的程式正常迭代 numpy.array,所以我決定嘗試通過串列進行一級簡單迭代。但是還是不行!代碼如下:
my_list = [1, 2, 3, 4, 5, 6, 7]
for i in my_list:
print(my_list[i])
輸出是:
所以它不采取my_list[0]某種原因的索引并超出范圍。你能幫我理解為什么嗎?
uj5u.com熱心網友回復:
目前尚不清楚您到底想做什么。當你迭代一個像串列一樣的可迭代物件時
for i in my_list:
eachi是串列的每個成員,而不是串列成員的索引。因此,在您的情況下,如果您想列印串列的每個成員,請使用
for i in my_list:
print(i)
想一想:9例如,如果串列中的第三個成員是 怎么辦?您的代碼將嘗試 print my_list[9],但它不存在。
uj5u.com熱心網友回復:
正如所指出的,這不是您應該迭代串列元素的方式。
但是,如果你堅持,你的回圈應該在range(my_list),此時你正在按串列的值進行索引,并且由于長度是 7,最后一個有效索引是 6,而不是 7。
uj5u.com熱心網友回復:
你會得到一個 IndexError,因為你正在遍歷這些值,這意味著你的 i 的第一個值是 1,最后一個是 7。因為 7 是這個串列的無效索引,你會得到一個 IndexError。合適的代碼是:
my_list = [1, 2, 3, 4, 5, 6, 7]
for i in my_list:
print(i)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/413400.html
標籤:
