Удалить из списка одноуровневые списки - Lisp

Узнай цену своей работы

Формулировка задачи:

Вот задача. Напишите функцию (f L), которая выдает список, получающийся после удаления из списка L всех элементов, представляющих собой одноуровневые списки, например, (f '(1 (2 (3)) 4 (5) 6)) := (1 (2 (3)) 4 6))).Можно с полным пояснением

Решение задачи: «Удалить из списка одноуровневые списки»

textual
Листинг программы
(defun drop-plane (w)
  (remove-if-not #'(lambda (a) (or (atom a) (some #'listp a))) w))
 
> (drop-plane '(1 (2 (3)) 4 (5) 6))
(1 (2 (3)) 4 6)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.778 из 5
Похожие ответы