Bonsoir,
l’objet “remove-dup” élimine l’élément répété avant sa répétition.
ex : (1 2 3 2 4 5 = 1 3 2 4 5)
comment on peut obtenir alors ?
1 2 3 2 4 5 = 1 2 3 4 5
merci
Pour l’exemple ci-haut,
il faut mettre un reverse avant le remove-dup, puis refaire le reverse a sa sortie.
k
merci Karim
et pourquoi “remode-dup” fait ça ?
Ruben,
Ca cela vient du commonLisp. C’est assez technique.
Alice au pays du Lisp
Dans lisp il y a des listes. puis il y a le CAR (premier elmt de la liste), puis le CDR (le reste de la liste)… C’est les “primitives” du lisp. [Voila que je me prends pour un informaticien!!!] - ce que je ne suis pas du tout… mais en bref, … en lisp c’est avec car et cdr que l’on peut deja faire pas mal de choses. MAIS, c’est pour cela, que souvent on se retrouve a travailler avec ce qui reste (car c’est tjs une liste), que avec le CAR qui est un atome… et la tomme c’est bien , mais…
Bon, je vais arreter la…
---- Ici un peu plus serieux… ----
reverse est assez utile dans ce cas la !..
en code on a souvent recours a cela…
Par contre on peut faire autrement pour enlever les duplicates en debut de liste. Mais c’est un peu plus cher (en calcul…!) car il faut tjs re-initialiser le resultat… De nos jours, cela ne compte plus… on peut faire les 2 solutions… La premiere etait a l’epoque des dinosaures , [que l’on a ete] moins chere en calcul… Voila !
J’espere que mon hallucination LSD (Lisp Special Delire) n’a pas ete trop delriante…!
goodnight !
and have good dreams !
And may the Lisp be with you!
K
ps. remove-dup est une version “améliorée” (mais aussi un peu simplifiée) de la fonction Lisp remove-duplicates.
une possibilité pour inverser le sens de la recherche en utilisant remove-duplicates directement, est d’employer le keyword :from-end T (mais il n’est pas accessible avec remove-dup)
Bonjour
Il sont très bien toutes les explication, cela nous permet d’avancer.
Merci Karim et Jean