我想创建一个函数,该函数在列表中出现元素出现多少次。例如在列表中:'(abcbbcca)我希望它返回一个嵌套列表:'((a 2)(b 3)(c 3))
我知道这个函数看起来像这样:
(define collect-similar
(lambda (elm ls)
(cond
[(null? ls) '()]
[(equal? elm (car ls))]
我知道我需要继续检查列表,直到它返回到空列表的基本情况,我可以使用 cadr 检查列表的其余部分。但我不太确定如何获取该值以及如何使其返回嵌套列表。
我正在尝试编写的下一个函数查找列表中最常见的元素。例如,在列表 '(aaaaabc) 上运行函数将简单地返回 a。我知道我可以使用 collect-similar 功能并找到最高的数字。