Comment simplifier mon code
	
	
		Bonjour à tous, 
Je dois faire une fonction qui modifie une liste pour ne garder que les éléments qui commencent par une lettre donnée. 
Par exemple : 
(setq atomes '(pierre feuille ciseaux perdu jeu))
et ne retenir que ceux commençant par P ...
Voici ce que j'ai fait : 
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 
 |  
(defun commence-par (lettre liste)
    (cond 
        ((atom liste) nil)
        ((and (car liste) (equal (char (string (car liste)) 0) (char (string lettre) 0)))
            (rplacd liste (commence-par lettre (cdr liste))) )
        ((not (equal (char (string (car liste)) 0) (char (string lettre) 0))) 
            (commence-par lettre (cdr liste))) ) ) | 
 Merci pour votre aide et vos explications.