這是一個非常簡單的問題,但我不知道爲什麼python會這樣做。對於下面的循環,if head != None...
正在創建一個局部變量,以便head += 1
不會修改for head in myHeap.array
中的頭部。在head + = 1之後添加一個打印(head)產生我想要的結果,但if語句之外的頭部保持不變。for循環中的Python變量範圍
for head in myHeap.array:
if head != None and count % int(grow) == 0:
head += 1
所以輸入myHeap.array = [2,2,2,1]在迭代中,當[3,3,3,2]預計的端輸出相同的列表。我也已經驗證了滿足條件的if語句和解釋器使用head += 1
線