将dolist变量添加到LISP中的列表中

时间:2014-10-20 06:54:36

标签: list loops variables lisp

我有两个推车。第一个玩具具有变量i,内部玩具具有变量j。 我想做一个最终列表li看起来像((00)(01)(10)(11))

(setq mm '(0 1))
(setq li '())
(dolist (i mm)
  (dolist (j mm)
    (progn
      (setq ans (cons ans (list (nth i mm)
                                (nth j mm)))))))

给了我 ((((NIL 0 0)0 1)1 0)1 1)

2 个答案:

答案 0 :(得分:0)

CL-USER 68 > (let ((ans ()))
               (dolist (i mm (reverse ans))
                 (dolist (j mm)
                   (setq ans (cons (list (nth i mm)
                                         (nth j mm))
                                   ans)))))
((0 0) (0 1) (1 0) (1 1))

答案 1 :(得分:-1)

知道了。 关键字“列表”可以解决问题。     (dolist(毫米)(dolist(j mm)(progn(setq ans(追加ans(list(nth i mm)(nth j mm))))))))