我想在 lisp 中编写一个函数,使用映射函数反转列表中的所有元素,但我不知道如何开始这个。我想我必须以某种方式使用内置的反向函数。
例如,如果我有列表 (1 2 3 (4 5 6 (7 8 9))) 我会得到 (((9 8 7) 6 5 4) 3 2 1)
或者如果我有列表(1 2 3 (4 5) (6 7)) 我会得到 ((7 6) (5 4) 3 2 1) ..
任何帮助表示赞赏!
只是一个快速回答,不确定效率/优雅:
(defun reverse-deeply (list)
(mapcar #'(lambda (li)
(cond
((consp li) (reverse-deeply li))
(t li)))
(reverse list)))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)