Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

How to create all possible pairs subsets from a list in conman lisp. For example the list A contain four elements

list A= ("A" "B" "C" "D")  

the expected output is as follows:

(("A","B"),("A","C"), ("A","D"),("B","C"),("B","D"), ("C","D"))

Could someone please help me out to generate these subsets. Thanks a lot

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
217 views
Welcome To Ask or Share your Answers For Others

1 Answer

Read up on 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))

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...