SWI Prolog - 将两个列表中的元素组合成对

SWI Prolog - Combining elements from two lists into pairs

如何在保持元素位置不变的情况下“加入”两个列表?比如,我有 List1 = [1,2,3]List2 = [a,b,c]。我怎样才能得到列表 [[1,a], [2,b], [3,c]]?

我一直在尝试寻找内置谓词,但我发现的所有内容都无法重现。

join_2_lists(L1, L2, JoinLst) :-
    must_be(list, L1),
    must_be(list, L2),
    join_2_lists_(L1, L2, JoinLst).

join_2_lists_([], [], []).
join_2_lists_([H1|T1], [H2|T2], [[H1, H2]|JoinLst]) :-
    join_2_lists_(T1, T2, JoinLst).

结果swi-prolog:

?- join_2_lists([1, 2, 3], [a, b, c], J).
J = [[1,a],[2,b],[3,c]].