我有一个关于这个主题的问题,
我知道 Prolog 列表的工作方式类似于 [head, (tail)] 但是否有任何功能或神奇的触摸(示例代码)来查找列表中的元素数量?有没有办法获得列表中相同元素的数量然后比较列表或其中的唯一元素?
一种方法如下:
get_uniq(List,Uniq) :-
select(Uniq,List,SubList), % chose an item from the list
\+ member(Uniq,SubList). % make sure it doesn't have a pair
Run Code Online (Sandbox Code Playgroud)
%% 稍后添加
您可以通过以下方式获得独特项目的完整列表:
findall(N,get_uniq([2,1,4,3,2,5,1,4,3],N), Ns).
Run Code Online (Sandbox Code Playgroud)