my_list = [1, 2, 3]
for v in range(len(my_list)):
my_list.insert(1, my_list[v])
print(my_list)
print(my_list[v])
print(v)
print(len(my_list))
那么輸出是:
[1, 1, 1, 1, 2, 3]
1
2
6
我完全不知道如何將三個 1 添加到 my_list 中。有人可以解釋嗎?
uj5u.com熱心網友回復:
Insert(pos, val) 將 val 作為新專案插入到串列中位置 pos 處。由于 len(my_list)=3 最初,回圈執行了 3 次:
my_list[0]=1 被插入到位置 1,使得 my_list = [1, 1, 2, 3]
my_list[1] = 1 被插入到位置 1,給出 my_list = [1, 1, 1, 2, 3]
與第 1 步和第 2 步相同:my_list = [1, 1, 1, 1, 2, 3]
uj5u.com熱心網友回復:
您在每次迭代中修改 my_list 。
my_list = [1, 2, 3]
for v in range(len(my_list)):
my_list.insert(1, my_list[v])
讓我們在此之下,最初串列有 3 個值,這就是for回圈運行 3 次的原因。
第一次迭代:
my_list[v] ==> my_list[0] ==> 1
hence ==> my_list.insert(1, 1)
my_list = [1, 1, 2, 3]
第二次迭代:
my_list[v] ==> my_list[1] ==> 1
hence ==> my_list.insert(1, 1)
my_list = [1, 1, 1, 2, 3]
第三次迭代:
my_list[v] ==> my_list[2] ==> 1
hence ==> my_list.insert(1, 1)
my_list = [1, 1, 1, 1, 2, 3]
如果您對此仍有任何疑問,請告訴我。謝謝 :)
uj5u.com熱心網友回復:
您在位置 0、1 和 2 處插入值 1 的三倍。因此,陣列為:
v = 0 -> [1, *1*, 2, 3]
v = 1 -> [1, *1*, 1, 2, 3]
v = 2 -> [1, *1*, 1, 1, 2, 3]
此外,如果該變數只能在for.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/505434.html
上一篇:Blazor@Onchanged/@bind用于串列項
下一篇:將有限的輸入附加到串列中
