我有两个列表,每个列表都有列表中的列表。我想每次都从第一个列表中获取第三个值,并从第二个列表中获取第一个值,然后将这些项目相乘,然后将它们相加。Lisp两个列表相乘并添加两个值
(defvar *list-1* ((item1 1 4) (item2 4 5) (item3 5 8)))
(defvar *list-2* ((1) (3) (5)))
因此,我希望(1×4)+(3 * 5)+(5 * 8)= 59
我有下面的代码到目前为止
(defun get-total (lst lst1)
(loop :for element :in lst
:for element1 :in lst1
:sum (third element)))
我想到了这一点,但很惊讶,与Scheme折叠不同,'reduce'只有一个列表。 – Sylwester 2015-04-02 12:57:45
噢,我想知道这背后的逻辑是什么 – Baggers 2015-04-02 13:17:29