我在序言的问题,我有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