Définir une fonction qui modifie une liste en ne gardant que les sous-listes d'une longueur supérieure ou égal
Bonjour ,
J'ai un exercice que je n'arrive pas à résoudre avec clisp :
Définir une fonction qui modifie une liste en ne gardant que les sous-listes d'une longueur supérieure ou égale à un nombre donné
exemple :
Code:
1 2 3
| (setq liste '((a b) c (d) (e f) (e g x) f))
(longueur 2 liste) => ((a b) (e f) (e g x))
liste => ((a b) (e f) (e g x)) |
Je doit donc déplacer le pointeur avec rplacd si la condition est validée mais comment établir cette condition qui doit être selon le résultat du comptage des atomes dans les sous-listes ?
Doit je créer 2 fonctions : 1 qui compte et l'autre qui déplacera le pointeur en fonction du retour de la fonction qui compte ?
Merci pour votre aide