我想在點 s 處拆分陣列并將其添加到陣列的末尾。但我的輸出是我的輸入串列。
def split_and_add(arr, s):
n = len(arr)
if n >= s or s <=0:
return arr
else:
end = []
for i in range(0,s):
end = end [arr[i]]
start = []
for i in range(s,n):
start = start [arr[i]]
return start end
print(split_and_add([1,2,3,4,5,6],3))
輸出仍然是 [1,2,3,4,5,6]。有人可以幫忙嗎?
uj5u.com熱心網友回復:
您的代碼中的唯一問題是符合要求的
if n >= s or s <=0:
在這里,您正在檢查陣列的長度n是否大于斷點s,如果是,則回傳原始陣列。但是您需要做的是檢查是否s大于或等于陣列的長度,如果是,則回傳原始陣列。因此,您需要做的就是替換n >= s為s >= n. 所以你的條件是
if s >= n or s <=0:
return arr
現在,這應該可以了。
uj5u.com熱心網友回復:
你可以用一種簡單的方式做到這一點。只需像這樣將左半部分附加arr[:s]到右半部分arr[s:]。
def split_and_add(arr, s):
n = len(arr)
if s >= n or s <=0:
return arr
return arr[s:] arr[:s]
對于示例輸入,這給出:
split_and_add([1,2,3,4,5,6],3)
# [4, 5, 6, 1, 2, 3]
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/486077.html
上一篇:如何使用windows訪問應用程式并在uwp中關閉它們
下一篇:意外輸出-從陣列中選擇最小的數字
