我正在尝试编写一些代码来查看嵌套列表,检查元素以查看它们是否可以合并。
如果cdr匹配,可以组合内部列表,并且车辆将与显示的代码一起添加。
在这种情况下,((1 4)(3 4)(2 4)(1 1))将简化为((6 4)(1 1))
(defun simplify (x)
(if (equal (cdar x) (cdr (cadr x)))
(cons (+ (caar x) (car (cadr x))) (cdar x))
(cons (car x) (simplify(cdr x)))
)
)
当前代码适用于简单列表,但较大的列表正在破坏。