gpt4 book ai didi

Prolog:解压缩对列表

转载 作者:行者123 更新时间:2023-12-02 05:04:47 25 4
gpt4 key购买 nike

因此,我必须创建一个谓词 unzip(L,R,P),其中 P 是一个对列表(例如:P = [[1,2],[3,4]]。L 必须是一个包含每对第一个元素的新列表,而 R 是一个包含每对第二个元素的新列表。

这是我所拥有的:

unzip([],[],[]).
unzip([H1|T1],[H2|T2],[HL,HR|T]) :-
H1 = HL,
H2 = HR,
unzip(T1,T2,T).

除非对数为奇数,否则此方法有效。我不知道怎么会这样,有什么建议吗?

编辑:想通了。如果有人好奇,这是我的解决方案:

unzip([],[],[]).
unzip([H1|T1],[H2|T2],[[HL,HR]|T]) :-
H1 = HL,
H2 = HR,
unzip(T1,T2,T).

最佳答案

您的解决方案是正确的,但您可以而且应该在头脑中使用统一:

unzip([], [], []).
unzip([L|Ls], [R|Rs], [[L,R]|Ps]) :- unzip(Ls, Rs, Ps).

关于Prolog:解压缩对列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16431002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com