您如何比较两个列表以查看它们是否不同
?- compare_lists(X,Y).
答案 0 :(得分:2)
接下来呢?
compare_list([], []).
compare_list([H1 | T1], [H2 | T2]) :-
H1 \= H2,
compare_list(T1, T2).
这要求两个列表具有相同的长度才能返回true;如果您还希望从不同长度的列表中获取true,则必须将递归的基本情况加倍,因此
compare_list([], []).
你可以写
compare_list([], _).
compare_list(_, []).
答案 1 :(得分:1)
您可以在此处以maplist/3
[swi-doc]为目标来使用(\=)
[swi-doc]:
compare_list(LA, LB) :-
maplist((\=), LA, LB).