Sujet : Re: Brevity vs. Lispicity
De : Nobody447095 (at) *nospam* here-nor-there.org (B. Pym)
Groupes : comp.lang.lispDate : 18. Jun 2025, 12:29:20
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <102u7uc$33k6g$1@dont-email.me>
User-Agent : XanaNews/1.18.1.6
Bill Atkins wrote:
(defun occurrences (list)
(let (result)
(dolist (x list)
(if (assoc x result)
(incf (cdr (assoc x result)))
(push (cons x 1) result)))
(sort result #'> :key #'cdr)))
Gauche Scheme:
(define (occurrences input)
;; Create table (association list).
(define result (map (cut cons <> 0) (delete-duplicates input)))
(dolist (x input) (inc! (cdr (assoc x result))))
(sort result > cdr))
(occurrences '(a b c d d d d c c b))
===>
((d . 4) (c . 3) (b . 2) (a . 1))