item_replacement_item_mapped(E, Es, E, Es).
item_replacement_item_mapped(X, _, E, [E]) :-
dif(X, E).
repl(Es0,X,Xs,Es) :-
maplist(item_replacement_item_mapped(X,Xs), Es0, Ess1),
append(Ess1, Es).
示例我有列表[a,b,c,d,b,c,e,f]
,我想将列表[x,y,z]
替换为[b,c]
。最终结果为[a,x,y,z,d,x,y,z,e,f]
。如何在Prolog中编写谓词?