我有一个整数列表列表:
(setq a '(21 14 35 29 16 28))
(setq b '(15 36 21 17 45 41))
(setq c '(24 21 35 28 17 21))
总共可能有50个+/-列表。
我有另一个清单:
(setq me '(17 14 31 21 17 28))
我想循环遍历列表的初始列表,并从列表a
中减去列表me
(第1次直通)的每个成员。
我如何能够通过初始列表列表进行索引,以便我可以执行比较?
答案 0 :(得分:1)
如果我假装明白你要问的是什么......
(setq
a '(21 14 35 29 16 28)
b '(15 36 21 17 45 41)
c '(24 21 35 28 17 21)
me '(17 14 31 21 17 28)
lst (append a b c)
)
(setq result
(vl-remove-if
'(lambda (x) (member x lst))
me
)
)
结果的值是(31)
如果你正在寻找那个^那么一个更通用的解决方案:
(defun foo ( lst listOfLists )
( (lambda ( grandList )
(vl-remove-if
'(lambda (x) (member x grandList))
lst
)
)
(apply 'append listOfLists)
)
)
(foo me (list a b c))
返回(31)