【发布时间】:2014-10-25 18:40:57
【问题描述】:
好吧,我有一个列表,比如说[a,b,c,c,d],我想生成一个列表[[a,1],[b,1],[c,2],[d,1]]。但我无法生成我的列表。我可以计算元素出现了多少次但不将其添加到列表中:
% count how much the element occurs in the list.
count([], _, 0).
count([A|Tail], A, K) :-
count(Tail, A, K1),
K is K1 + 1.
count([_|Tail], X, K) :-
count(Tail, X, K1),
K is K1 + 0.
% Give back a list with each element and how many times is occur
count_list(L, [], _).
count_list(L, [A|Tail], Out) :-
count(L, A, K),
write(K),
count_list(L, Tail, [K|Out]).
我正在尝试学习 Prolog,但遇到了一些困难...非常感谢您的帮助...提前致谢!
【问题讨论】: