删除列表中列表中的重复项

Removing duplicates in lists within a list

我将如何删除列表中本身就在列表中的重复元素?例如 [[x,x],[x,y],[y,y,z]] 应返回为 [[x],[x,y],[y,z]].

lists_dedupe(Ls, Ds) :-
    maplist(list_to_set, Ls, Ds).

例如你的例子:

?- lists_dedupe([[x,x],[x,y],[y,y,z]], R).
R = [[x], [x, y], [y, z]]

集合基本上是没有重复项的列表,因此此映射 'convert to set' 输入以获取输出。