對於這個python問題,我在一個參數int中,這是我將要追加到的列表的最大長度。從int值爲1開始,我想遍歷列表中的兩個更多線性值,直到達到最大長度。爲什麼我得到一個無限循環?
我得到一個無限循環或類似的東西;我沒有收到任何值,但python仍在處理。
這是無限循環發生的代碼,想知道爲什麼? 代碼:
def dbl_linear(n):
lst_u =[1]
while len(lst_u)<=n:
for i in lst_u:
lst_u.append(2*i+1)
lst_u.append(3*i+1)
return sorted(lst_u)
dbl_linear(10)
我擡頭一看這個例子中用戶已經設置爲包含前的for循環列表,然後改變它的循環回來後另一個變量的變量。想知道爲什麼這樣做,爲什麼它有用嗎? 其他代碼: d
ef dbl_linear(n):
lst_u =[1]
while len(lst_u)<=n:
new_u = lst_u
for i in lst_u:
new_u.append(2*i+1)
new_u.append(3*i+1)
new_u=lst_u
return sorted(lst_u)
dbl_linear(10)
我想'因爲我在lst_u:'永遠不會結束,因爲要附加在環路本身名單。總是有更多元素可以迭代。 –
'new_u = lst_u'沒用。這只是創建另一個參考,而不是副本。 –