如何制作一个谓词来制作成对列表?

How to make a predicate that will make a list of pairs?

我想在 Prolog 中做一个谓词 pairlist(X,Y) 当它被给定一个列表时 X = [1,2,3,4,5,6],它将在列表 Y = [[1,2],[3,4],[5,6]] 中配对。你能帮我么?基本上,我无法理解如何将列表成对划分。 谢谢

这里有一个非常简单的解决方案:

pairlist([],[]).
pairlist([A],[[A]]).
pairlist([A,B|T],[HL|TL]):-
    HL = [A,B],
    pairlist(T,TL).