gpt4 book ai didi

Prolog 取一个列表的一部分

转载 作者:行者123 更新时间:2023-12-05 09:06:30 24 4
gpt4 key购买 nike

我怎样才能成为列表的一部分?示例:

?- part([1,2,3,4,5,6,7,8,9],3,6,Χ).
X = [3,4,5,6]

第一个元素应该是开始,第二个应该是结束。

最佳答案

这个答案显然以第二个和第三个参数作为索引。但也许它们意味着值(value)?这带来了很多其他问题,因为索引是唯一的、有序的等等,而值可以是任何东西。

这个问题已经以不同的方式解决了很多次。在 Stackoverflow 上肯定有很多解决方案。一种方法是使用 length/2 和 append/3 两次:

?- List = [1,2,3,4,5,6,7,8,9],
length(Skip, 2), append(Skip, Rest, List),
length(Take, 4), append(Take, _, Rest).
Take = [3, 4, 5, 6].

您需要根据索引计算两个长度:

?- From = 3, To = 6,
N_skip is From - 1,
N_take is To - From + 1.
N_skip = 2,
N_take = 4.

另一种方法是自己倒数,可以用多种不同的方式来写。

关于Prolog 取一个列表的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65990154/

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