gpt4 book ai didi

Prolog中的ListsfromList函数

转载 作者:行者123 更新时间:2023-12-02 02:32:11 26 4
gpt4 key购买 nike

我在序言中编写了一个谓词,其中给出了两个参数listsFromL(X,B)X 将是一个列表,其中包含该列表中的列表,B 将是一个新列表,其中包含来自 X 的列表。

例如,如果我调用 listsFromL([1,2,[d,a]],X).,返回结果将为 B = [[d,a ]]. 如果我向 X 添加更多列表,我会得到一个更长的列表,其中列表为 X

我该如何解决这个问题?

最佳答案

listsFromList([],[]) .

listsFromList([HEAD|SOURCEs],[HEAD|TARGETs])
:-
is_list(HEAD) ,
listsFromList(SOURCEs,TARGETs)
.

listsFromList([HEAD|SOURCEs],TARGETs)
:-
\+ is_list(HEAD) ,
listsFromList(SOURCEs,TARGETs)
.
/*
?- listsFromList([1,2,3,4,[a,b]],X).
X = [[a, b]] ;
false.

?- listsFromList([1,[a,b],2,[c,d],3],X).
X = [[a, b], [c, d]] ;
false.

?- listsFromList([],X).
X = [].

?-
*/

关于Prolog中的ListsfromList函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64894058/

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