Re: Faster remove-duplicates with sorted list.

Liste des GroupesRevenir à cl lisp 
Sujet : Re: Faster remove-duplicates with sorted list.
De : joerg-mertens (at) *nospam* t-online.de (Joerg Mertens)
Groupes : comp.lang.lisp
Date : 21. Jun 2024, 21:42:07
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v54l2g$3ai5i$1@jmertens.eternal-september.org>
References : 1 2 3
User-Agent : tin/2.6.2-20221225 ("Pittyvaich") (OpenBSD/7.5 (amd64)) tinews.pl/1.1.61
Joerg Mertens <joerg-mertens@t-online.de> wrote:

  (loop for element in list
        for last-element-key = nil then element-key
        for element-key = (funcall key element)
        for result = nil then (funcall test element-key last-element-key)
        unless result collect element))

This is clearer:

(defun uniquify-sorted-list (list &key (key #'identity) (test #'eql))
  (loop for element in list
        for element-key = (funcall key element)
            and last-element-key = nil then element-key
        for result = nil then (funcall test element-key last-element-key)
        unless result collect element))

I forgot that the loop way to step two clauses in parallel is to
combine them with an `and´.

Date Sujet#  Auteur
19 Jun 24 * Re: Faster remove-duplicates with sorted list.5B. Pym
19 Jun 24 `* Re: Faster remove-duplicates with sorted list.4B. Pym
21 Jun 24  `* Re: Faster remove-duplicates with sorted list.3Joerg Mertens
21 Jun 24   +- Re: Faster remove-duplicates with sorted list.1Joerg Mertens
10 Aug 24   `- Re: Faster remove-duplicates with sorted list.1steve g

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal