我想做一個函數,發生一個元素在列表中出現多少次。例如在列表中:'(abcbbcca)我想要它返回一個嵌套列表: '((a 2)(b 3)(c 3))計劃收集列表中的類似項目,並找到列表中最常見的項目
我知道函數看起來有點像這樣:
(define collect-similar
(lambda (elm ls)
(cond
[(null? ls) '()]
[(equal? elm (car ls))]
我知道,我需要繼續通過列表檢查,直到它到達回到了空列表的基本情況,我可以用CADR檢查列表的其餘部分。但是我不太確定如何獲得價值以及如何讓它返回嵌套列表。
我試圖寫的下一個函數查找列表中最常見的元素。例如,運行列表中的函數'(a a a a bc)將簡單地返回一個。我知道我可以使用收集類似的功能,並找出哪個數字最高。
這樣的功能通常被稱爲直方圖。 –