首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

删除列表 L 的最后 3 个元素以在 Prolog 中创建列表 L1

在 Prolog 中,删除列表 L 的最后 3 个元素并创建新列表 L1,可以使用以下方法:

代码语言:prolog
复制
delete_last_three([], []).
delete_last_three([_], []).
delete_last_three([_, _], []).
delete_last_three([X, Y, Z|Tail], [X|L1]) :- delete_last_three([Y, Z|Tail], L1).

这个方法使用递归来删除列表的最后 3 个元素。当列表为空、只有一个元素或只有两个元素时,返回空列表。当列表有三个或更多元素时,将第一个元素添加到新列表中,并递归地调用 delete_last_three 函数来处理剩余的元素。

例如,如果我们有以下列表:

代码语言:prolog
复制
L = [1, 2, 3, 4, 5, 6, 7, 8, 9].

我们可以调用 delete_last_three(L, L1) 来删除最后 3 个元素并创建新列表 L1:

代码语言:prolog
复制
L1 = [1, 2, 3, 4, 5].

这个方法可以在任何 Prolog 解释器中使用,并且不需要任何特定的云计算产品。

相关搜索:在swi-prolog中,如何创建dup( L1,L2),其中L2的元素是L1的重复元素?定义一个关系first_last( L1,L2),它接受一个列表L1并返回一个包含L1的前三个和最后三个元素的列表L2显示列表Prolog中的最后一个元素用Prolog写一个程序来实现消失(R,L,N),其中R表示必须从列表L中删除其所有出现的元素以获得列表N的元素在列表的3个列表中搜索Prolog,创建一个从3个列表中抓取3个对角线值的谓词从另外两个列表派生一个新的列表列表,其中如果L1中的元素不在L2中,则附加这些元素如何在删除列表集合的最后一个列表后从文本框中删除列表如果列表中包含最后一个数字,如何删除列表中的最后一个数字删除号码列表中的最后一个偶数仅删除列表列表中的最后一个元素的函数中的问题从angularjs中删除列表中的最后一个元素对于两个列表,l1和l2,如何检查所有e1 l1,python p(e1,e2),其中e2是l2中的某个元素,在∈中是有效的?如果项目在另一个列表中,则从列表中删除项目(列表的列表)在两个索引之间对prolog中的列表进行切片尝试使用Node类和链接列表类删除列表中的最后一个元素如何根据python3中的元素序列在列表中创建子列表?删除列表中的numpy数组(大小不同)的最后一个值Python/Pandas:如何获取每个组的最后3个并放入列表中以有效的方式从子列表列表中删除第一个元素[python 3]
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 改变开发者编码思维的六种编程范式

    译者注:本文介绍了六种编程范式,提到了不少小众语言,作者希望借此让大家更多的了解一些非主流的编程范式,进而改变对编程的看法。以下为译文: 时不时地,我会发现一些编程语言所做的一些与众不同的事情,也因此改变了我对编码的看法。在本文,我将把这些发现分享给大家。 这不是“函数式编程将改变世界”的那种陈词滥调的博客文章,这篇文章列举的内容更加深奥。我敢打赌大部分读者都没有听说过下面这些语言和范式,所以我希望大家能像我当初一样,带着兴趣去学习这些新概念,并从中找到乐趣。 注:对于下面讲到的大多数语言,我拥有的经验

    010
    领券