lisp 列表中对子集的组合
combination of pair subsets from a list in lisp
如何从 conman lisp 中的列表创建所有可能的对子集。例如列表 A 包含四个元素
list A= ("A" "B" "C" "D")
the expected output is as follows:
(("A","B"),("A","C"), ("A","D"),("B","C"),("B","D"), ("C","D"))
有人可以帮我生成这些子集吗?
非常感谢
继续阅读 mapcar
et al:
(defparameter a (list 1 2 3 4))
(mapcon (lambda (tail)
(mapcar (lambda (x)
(cons (car tail) x))
(cdr tail)))
a)
==> ((1 . 2) (1 . 3) (1 . 4) (2 . 3) (2 . 4) (3 . 4))
如何从 conman lisp 中的列表创建所有可能的对子集。例如列表 A 包含四个元素
list A= ("A" "B" "C" "D")
the expected output is as follows:
(("A","B"),("A","C"), ("A","D"),("B","C"),("B","D"), ("C","D"))
有人可以帮我生成这些子集吗? 非常感谢
继续阅读 mapcar
et al:
(defparameter a (list 1 2 3 4))
(mapcon (lambda (tail)
(mapcar (lambda (x)
(cons (car tail) x))
(cdr tail)))
a)
==> ((1 . 2) (1 . 3) (1 . 4) (2 . 3) (2 . 4) (3 . 4))