前情提要:
今天又是繼續開心的拿著工具書學習如何當碼農的小日子了!
不過打著打著,輸出的結果怎麼看起來和書上說得不太一樣啊!?
這不看還好,一看不得了......這巢狀迴圈還得要好好思考下對應的位置耶!
巢狀串列有很多層,所以需要使用多個索引值來存取指定項目,也要使用兩個索引值來存取指定項目
在課本的範例中是這樣寫的:
lst2 = [[2, 4], ['cat', 'dog', 'bat'], [1, 3, 5]]
print(lst2[1][0]) #這是指串列lst2中,索引1中的索引0
lst2[2][1] = 7 #這是指串列lst2中,索引2中的索引1 =7
print(lst2)
結果我打著打著就給他變成了這樣:
lst2 = [[2, 4], ['cat', 'dog', 'bat'], [1, 3, 5]]
print(lst2[1],[0]) #這是指串列lst2中,索引1中的索引0
lst2[2][1] = 7 #這是指串列lst2中,索引2中的索引1 =7
print(lst2)
執行結果自然也就跟著錯啦:
自己還很那悶那個[0]是做啥用的......
如果照課本上程式去跑的話,得到結果應該只有cat才對!
因為之前在新手村砍木人的時候,基本沒怎看過這種框框裡面又有框框,裡面的框框裡面還有好幾個參數的東西;再加上一時手殘打錯,造成輸出奇怪的結果,所以就順便筆記下來!
依照課本的範例中,這個框框裡面又有框框,裡面的框框裡面還有好幾個參數的東西,是對應著不同的"索引值"。
大概是下面這樣:
雖然感覺上還是滿複雜的,其實就是像在在超商自助取貨的"第幾個櫃裡面的第幾號"吧!
lst2後面第一個框框就是"第幾樓";第二個框框就是"第幾號"。
這樣似乎就比較容易瞭解了呢!