我有一个列表 L ,我需要将每个元素拆分为一个单独的列表,然后再次将它们附加在一起。这是我为相同的代码。
split([],[]).
split([H|T],Ls):-split(T,Ls),splist(H,[]).
make(Val,[H1|List],[H1|Res]):- make(Val,List,Res). make(Val, List,[Val|List]).
splist(H,L2):- make(Sum,[],L1),append(L1,L2,NewL).
当我使用此代码时,L 的每个元素都从 split() 递归传递到 splist(),并通过 make() 将其制成具有单个元素的列表 L1。我需要追加以保持连接 L1 和 L2。但事实并非如此
例如,我有 L=[1,2,3]。现在我需要完成以下过程。
H=1,L1=[1] 和 L2=[1]。接下来 H=2,L1=[2] 和 L2=[1,2]。接下来 H=3,L1=[3] 和 L2=[1,2,3]。
我需要上面提到的输出,但这就是我的代码所做的。
H=1,L1=[1],L2=[1]。接下来 H=2,L1=[2] 和 L2=[2]。接下来 H=3,L1=[3] 和 L2=[3]。