gpt4 book ai didi

scheme - 如何摆脱列表中的重复项,但保持顺序

转载 作者:行者123 更新时间:2023-12-04 13:24:23 24 4
gpt4 key购买 nike

我在 DrRacket 中使用带有 Lambda 的中级学生,我想知道如何在保持顺序的同时删除列表中的重复项。例如 (remove-dup (list 2 5 4 5 1 2))会产生 (list 2 5 4 1) .到目前为止,我有这个:

(define (remove-duplicates lst)
(cond
[(empty? lst) empty]
[(member? (first lst) (rest lst))
(remove-duplicates (rest lst))]
[else (cons (first lst) (remove-duplicates (rest lst)))]))

,但有一个问题,因为它不保持顺序。有人可以指出我正确的方向吗?谢谢你的时间。

最佳答案

如果您的目标是让功能正常工作,而不是一些家庭作业问题,那么您不需要做任何事情,只需使用 remove-duplicates :

Welcome to Racket v5.2.
-> (remove-duplicates (list 2 5 4 5 1 2))
'(2 5 4 1)

关于scheme - 如何摆脱列表中的重复项,但保持顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8146160/

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