我注釋掉并找到了代碼中開始出現奇怪錯誤的位置。它應該是一個滑動視窗問題,當我滑動視窗時,它應該在結果串列中添加視窗串列。但是由于某種原因,當我更新視窗串列時,它似乎也在更新結果串列???但它會在我什至沒有提到結果串列的時候更新?
def find_subarrays(arr, target):
result = []
start = 0
window = []
product = 1
print("target", target)
for end in range(len(arr)):
print("check Result", result)
print("arr[end]", arr[end])
window.append(arr[end]) # Somehow the variables window and result are connected
print("check Result 2", result, "hmm",window)
print("firstR ", result)
result.append(window)
print("secondR ", result)
# print("result", result)
return result
find_subarrays([2, 5, 3, 10], 30)
關于。建議的副本:
我沒有對結果串列進行乘法運算,我洗掉了他們實際代碼應該做的很大一部分,以便簡化和關注問題的根源。
同樣在每個回圈中,視窗串列都會發生變化,因為它添加了輸入 arr 的每個元素,并且在每個回圈結束時將其添加到結果陣列中。我最后得到的輸出多次是同一個陣列?但變化發生在一個奇怪的地方,我什至沒有修改結果陣列。
uj5u.com熱心網友回復:
您正在使用 window 變數附加到結果串列中。這導致了這個 snyc。您可以使用以下代碼段來解決此問題。
result.append([*window])
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/350759.html
下一篇:AWK位置變數處理
