내부 목록을 포함하는 목록에서 요소를 제거해야합니다. 사전 정의 된 요소는 모든 내부 목록에서도 제거해야합니다. 나는 다음과 같은 코드로 작업을 시작했습니다LISP - 중첩 목록이있는 목록에서 요소 제거
:
(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)))
)
)
여전히 성공적이지 못합니다.
해결해 주시겠습니까?
미리 감사드립니다. 어쩌면이 같은
이 숙제가 있습니까? 예인 경우 숙제 태그를 추가하십시오. –
코드를 올바르게 들여 쓰기해야합니다. 지금은 읽기가 어렵습니다. –