问题标签 [cons]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python中的正确列表和递归尾部
在各种 Lisps 中,正确的列表是nil
(空值)或cons单元格,其中第一个(head,first,car)值指向一个值,第二个(tail,rest,cdr)指向另一个正确的列表。其他各种函数式编程语言都实现了这种头尾功能,包括 Erlang 和 Scala。在 Common Lisp 和 Emacs Lisp 中,您可以无限递归地找到列表的尾部:
它会产生nil
。我想在 Python 中模拟这种行为。当然,为了性能,我最好坚持使用经过大量优化的本机数据类型,所以这只是为了练习。我的代码是:
但是,现在调用tail
会进入递归并导致最大递归深度错误。我怎样才能使如下表达式成为可能?换句话说,我如何在 Python 中创建适当列表的功能?
相关问题,但没有回答我的问题:LISP cons in python
lisp - “小阴谋家”中的利弊结果
在第 178 页,有一个问题:
在哪里
书中的答案是
但我认为答案应该是
为什么我错了?
list - 在lisp中获取未列出缺点的值
我在 scheme(lisp) 中创建了一个函数,在该函数中我需要用它反转一个列表,如下所示:
考虑我有这个列表'(0 1 2),所需的输出将是:
但我得到:
是否有任何函数返回列表的值,而不是列表本身?
scheme - 我怎样才能消除缺点的副作用?
我可以使用以下代码获取列表的奇数元素:
但是当输入奇数长度的列表例如: (odds '(abcde)) 它将返回 (ac . e)
我怎样才能摆脱这个令人讨厌的时期?
list - 麻省理工学院方案表达式附加的替代形式
我目前正试图在练习中期解决一个问题。该问题要求我编写一个表达式来附加两个列表(我们称它们为 list1 和 list2),并且 list2 必须附加到 list1 的末尾。函数 append 在此的任何时候都不能使用。我可能使用的是cons、filter、accumulate、map、list-ref 和 inumerate-interval。我尝试了各种形式的解决方案,例如
我花了 2 天时间试图找到一个无济于事的解决方案。如果有人能够指导我朝着正确的方向前进,甚至可以为我提供某种形式的帮助,我将不胜感激。
另外,如果我在代码格式或提问时的举止方面没有正确遵循某些协议,我深表歉意,因为我是该网站的新手。谢谢你。
scheme - 高阶过程 - 对构造(cons, car, cdr)
我需要在 Scheme 中创建这个程序:my-cons、my-car、my-cdr。
它应该像这样工作:
(定义 p1(我的缺点 3 8))
(p1 #t)
3
(p1 #f)
8
(我的车 p1)
3
(my-cdr p1)
8
现在,我只有这个:
(定义我的缺点
(λ (xy)
(缺点 xy)
(让 ((a (汽车 (cons xy)))))
但在这段代码中,我不能在定义的 p1 上应用 my-cons 或 my-cdr 有人可以帮我吗?
list - 关于 Prolog 统一的愚蠢细节查询
在 Prolog 中:
B 显示为 [_G1091] 表明它是一个未实例化的变量。但是,如果我稍微改变...
突然之间,它对向我展示 B 未实例化但仍然是一个准备好与任何东西统一的变量不感兴趣.. 怎么会?(有时我喜欢关注奇怪的细节:)
scheme - 方案缺点和长度
我正在研究方案,我刚刚遇到了我的第一个问题:
为什么输出是 3 而不是 2?我已显示 x
为什么是这样而不是((1 2) . (3 4))
?
谢谢。
scheme - 关于 Scheme 的缺点和点表示法
给定
当我们尝试
什么决定了在哪里.
使用?这些构造的内存表示是什么?
list - OCaml 解析列表
我想在我的我的解析器的一部分
我有这个更进一步。
但我不确定如何让它读取“[”和“]”之间的列表,因为它的末尾有一个“::[]”。有任何想法吗?