不是說迭代取出的是元素本身嗎?為什么打印出來沒變化?哪位老師或大神給解釋下,謝謝。
#不是說迭代取出的是元素本身嗎?為什么打印出來沒變化?哪位老師或大神給解釋下,謝謝。 L?=?[0,?1,?2,?3,?4] for?t?in?L: ????print?t?is?L[t]???? ????t+=1???? ????print?t print?L print?t
輸出:
True 1 True 2 True 3 True 4 True 5 [0,?1,?2,?3,?4] 5
打印的 t is L[t] 也是true, ?既然t就是L[t] ?但 結果 L 為啥沒變化?
如下,L 是有變化的。
for t in L:
? ? L[t]+=1
? ? print t
print L
結果:
[1,?2,?3,?4,?5]
2019-08-15
在 for 循環中,索引是從 0 開始直到數組或者集合結束,而循環中的 t 表示從第一個開始取的 L 中的值。
索引開始為 0,對應 L 中的值為 L[0] = 0,?
此時的 t 為 L 中的第一個元素,也是 0,
所以輸出的 t is L[t], ( 0 is L[0] ) 是 true
樓主給出的代碼:
print t is L[t];? #pirnt true
t += 1;? #t = 1, 2, 3, 4, 5
先后順利需要理清楚,只改變了 t 的值,而沒有改變 L[t] 的值。
當開始第二次循環時, t 又重新取得了 L 中的下一個元素,t += 1; 這一句也就沒有什么意義了
希望我說的明白了
2019-08-10
2019-08-08
這句話是本身是啥意思。
2019-08-08
怎么可能是本身呢,L[]才是本身呢