我在序言的問題,我有81個項目的列表,我需要每次都從中得到的只是9個項目處於不同的位置,例如,如果我的名單是:分割清單問題
L=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],
split(L1,2,L) the result will be L1=[10,11,12,13,14,15,16,17,18].
我的程序是
split([X,X1,X2,X3,X4,X5,X6,X7,X8], 0, [X,X1,X2,X3,X4,X5,X6,X7,X8], []).
split([X,X1,X2,X3,X4,X5,X6,X7,X8|Y], 1, [X,X1,X2,X3,X4,X5,X6,X7,X8], Y).
split([X,X1,X2,X3,X4,X5,X6,X7,X8|Y], N, [X,X1,X2,X3,X4,X5,X6,X7,X8|T], Z) :-
N > 0,
N1 is N-1,
split(Y, N1, T, Z).
但它不起作用。
你是什麼意思的「它不工作」?你得到一個錯誤?結果並不像預期的那樣? – toro2k
'2'在您的示例'split(L1,2,L)'中代表什麼?通過「每次不同的位置」,你的意思是你想讓它回溯並耗盡所有可能的選項,或者你是否計劃通過一個不同的參數來請求不同的子列表?如果回溯,是否允許子列表重疊? – lurker