删除prolog中嵌套列表中所有出现的元素

时间:2016-03-02 20:14:42

标签: list data-structures prolog

我正在尝试从嵌套列表中删除特定元素。

delete(X,L,L1)从列表X生成列表L中删除L1的所有匹配项。例如:

?- delete(a,[a,b,[a,d],c],L1). will give us 
[b,[d],c].

我可以从简单的非嵌套列表中删除该元素,但无法弄清楚如何在内部列表中删除它。

我的代码:

deletelist(Xs,[],Xs).

deletelist(Xs,[Y|Ys],Zs):- delete(Xs,Y,As),
deletelist(As,Ys,Zs).

非常感谢任何帮助

0 个答案:

没有答案