LISP 关于创建新列表的简单问题

LISP Easy questio about creating new lists

一个函数,它接收一个列表,其中包含子列表的 M*N 和 returns 子列表的所有元素的总和

示例:(solution '( (1 2 3) (4 5 6) ) )

return: (5 7 9)

抱歉英语不好 谢谢=)

这取决于您使用的是什么 Lisp 解释器。在 Scheme 中,这将起作用:

(define (solution lsts)
  (apply map + lsts))

例如:

(solution '((1 2 3) (4 5 6)))
=> '(5 7 9)

Common Lisp 版本与 Scheme 几乎相同:

(defun solution (list)
  (apply #'mapcar #'+ list))

(solution '((1 2 3) (9 10 11) (3 4 5)))
; ==> (13 16 19)