2013-02-07 3 views
1

내가 혀짤배기에있는 목록에서 모든 이중 요소를 삭제해야에 목록에서 두 요소를 삭제하는 예는 다음과 같습니다여기 .. ​​리스프

(A B C D E A A B F G A) => (A B C D E F G) 

내가 어떻게 할 수 있습니까?

답변

11

당신은 remove-duplicates을 찾고 있습니다.

+0

: (제거 - 중복 '(ABCDEAABFGA)) 수행

(delete-duplicates '(A B C D E A A B F G A)) 

또는

(remove-duplicates '(A B C D E A A B F G A)) 

더 자세히이 링크를 확인하시기 바랍니다 그러나 요소의 마지막 인스턴스는 유지되는 것입니다. 그래서 저에게 결과는 '(C D E B F G A) – Baggers

+1

... 키워드 매개 변수': from-end t'를 전달하지 않으면 ...입니다. – Svante

-1

나는 lisp에 익숙하지 만, 내가 과제를 수행 할 때 이것을 보았습니다. 목록에서 중복을 제거하는 데 사용되는 'delete-duplicates'기능이 있습니다. 당신은 하나 개의 목록을 가지고 있기 때문에이 작업을 수행 : 마찬가지로 http://clhs.lisp.se/Body/f_rm_dup.htm#delete-duplicates