gpt4 book ai didi

list - 方案:如何检查列表的所有元素是否相同

转载 作者:行者123 更新时间:2023-12-04 20:53:39 25 4
gpt4 key购买 nike

我想创建一个 Scheme 函数,如果它传递一个完全由相同元素组成的列表,则该函数会产生 true。这样的列表将是 '(1 1 1 1)。它会产生类似 '(1 2 1 1) 的错误。

这是我到目前为止:

    (define (list-equal? lst)
(define tmp (car lst))
(for-each (lambda (x)
(equal? x tmp))
lst)
)

显然这是不正确的,我是新手。我想我无法表达我应该返回的步骤 #t#f .

提前致谢!

编辑:
我摆弄了一下,找到了一个似乎工作得很好的解决方案,并且代码量最少:
(define (list-equal? lst)
(andmap (lambda (x)
(equal? x (car lst)))
lst))

再次感谢大家的帮助。

最佳答案

最少的代码,如果你不关心它只适用于数字:

(define (list-equel? lst)
(apply = lst))

例子:
> (list-equel? '(1 1 2 1))
#f
> (list-equel? '(1 1 1 1))
#t
> (list-equel? '(1))
#t

关于list - 方案:如何检查列表的所有元素是否相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7320566/

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