内部リストを含むリストから要素を削除する必要があります。事前定義された要素もすべての内部リストから削除する必要があります。
私は次のコードで作業を開始しました:
(SETQ L2 '(a b ( a 2 b) c 1 2 (D b (a s 4 2) c 1 2 a) a )) ; defined my list
; Created a function for element removing
(defun elimina (x l &optional l0)
(cond (( null l)(reverse l0))
((eq x (car l))(elimina x (cdr l) l0))
(T (elimina x (cdr l) (cons (car l) l0))))
)
(ELIMINA 'a L2)
ただし、残念ながら、ネストされたリストの外側の要素のみが削除されます。
内部リストから要素を削除する追加の関数を作成しようとしました。
(defun elimina-all (x l)
(cond ((LISTP (CAR L))(reverse l)(elimina x (car l)))
(T (elimina-all x (CDR L)))
)
)
しかし、それでも失敗しました。
私がそれを解決するのを手伝ってくれませんか?
前もって感謝します。