gpt4 book ai didi

方案 - 不带外括号的 cdr

转载 作者:太空宇宙 更新时间:2023-11-03 18:57:55 27 4
gpt4 key购买 nike

考虑这个列表:((3 (1 (2 15) (8 5))) (1 10)),我想得到它的头部和 body 。正如我想象的那样,程序“汽车”在这里工作:(car '((3 (1 (2 15) (8 5))) (1 10))) - 返回它的第一项(列表)

(3 (1 (2 15) (8 5)))

但是过程“cdr:返回包含另一个列表的列表......(cdr '((3 (1 (2 15) (8 5))) (1 10)))

((1 10))

我想用 (1 10) 代替它。 Scheme 是否有一些程序或者您知道一些方法来实现它(比如检查前两个字符和最后两个字符是否是括号)?

谢谢大家:)

最佳答案

基本上你有 car, cadr, caddr, ... 来获取第一个、第二个、第三个元素,...

列表是一个链表,其中 conscar 中有一个值,而列表的其余部分在 cdr 中。 '(a b c d)'(a . (b . (c . (d)))) 相同,您可以使用 (cons a (cons b (cons c (cons d '()))))cdr(b . (c . (d)))car 又是 b。因此 (car (cdr '(a . (b . (c . (d))))))b。 Scheme 已对 2..5 进行了缩写,因此您只需查看中间的字符即可知道它与 (cadr '(a . (b . (c . (d)))))

关于方案 - 不带外括号的 cdr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23019080/

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