gpt4 book ai didi

lisp - Jscheme 如何查找列表中的所有事件?

转载 作者:太空宇宙 更新时间:2023-11-03 19:01:16 24 4
gpt4 key购买 nike

(定义 myList '(a b c d e a f))

我怎样才能返回所有出现的 'a.在这种情况下,返回值为 '(a a)

最佳答案

您可以简单地用结果列表迭代列表,并在找到匹配项时使用搜索到的元素:

racket@> (define (occurrences list elem)
(define (iter list result)
(cond ((null? list) result)
((equal? (car list) elem)
(iter (cdr list) (cons elem result)))
(else (iter (cdr list) result))))
(iter list '()))
racket@> (occurrences '(1 2 3) 1)
'(1)
racket@> (occurrences '(a b c d e a f) 'a)
'(a a)
racket@>

顺便说一句,我是用 Racket 写的,但它应该适用于任何 Scheme 方言/实现。

关于lisp - Jscheme 如何查找列表中的所有事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9347520/

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