gpt4 book ai didi

list - lisp 中列表元素的两个元素组合(没有重复项)

转载 作者:太空宇宙 更新时间:2023-11-03 18:49:41 24 4
gpt4 key购买 nike

从 lisp 中的任何给定列表中,我想获得该列表元素的两个元素组合而没有重复组合(意思是 (a b) = (b a) 并且应该删除一个)

例如,如果我有一个列表是 (a b c d),

我想得到 ((a b) (a c) (a d) (b c) (b d) (c d))

最佳答案

(defun combinations (list)
(loop for (a1 . r1) on list
nconc (loop for a2 in r1 collect (list a1 a2))))


CL-USER 172 > (combinations '(a b c d))
((A B) (A C) (A D) (B C) (B D) (C D))

关于list - lisp 中列表元素的两个元素组合(没有重复项),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14758218/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com