0
內部謂詞setof/3
可用於創建沒有重複的有序列表。測試列表是否表示沒有重複的集合
我也可以用它來測試列表是否代表沒有重複的集合?喜歡這個?
no_duplicates(L) :- setof(_,_,L).
內部謂詞setof/3
可用於創建沒有重複的有序列表。測試列表是否表示沒有重複的集合
我也可以用它來測試列表是否代表沒有重複的集合?喜歡這個?
no_duplicates(L) :- setof(_,_,L).
你不能完全按照你描述的方式使用它。但是,你可以使用setof來確定一個列表是否是一個集合,如果你讓它遍歷你的列表中的成員,然後檢查與原始集合。如果它們具有相同的長度,那麼所有元素都是唯一的。
no_duplicates(L) :-
setof(X, member(X, L), Set),
length(Set, Len),
length(L, Len).
你不行。你的論點沒有被充分實例化。
如果您正在使用SWI-Prolog,則可以在lists
模塊中使用謂詞 is_set/1
。
是否有另一種方法來檢查我是否不使用swi prolog? –