如何在Common Lisp中每次从列表中获取两个元素?

4

对于((1 2) (3 4) (5 6)),您可以使用loop for (a b) in '((1 2) (3 4) (5 6))每次获取a = 1,b = 2。

但是对于'(1 2 3 4),我尝试使用loop for x on '(1 2 3 4) by #'cddr for a = (car x) for b = (cadr x)获取a = 1,b = 2。

有更好的方法吗?


这个是否符合你的要求?还是你只是想找到更清晰表达的方式? - Samuel Edwin Ward
1个回答

10
尝试使用for ... on语法:
(loop for (a b) on '(1 2 3 4) by #'cddr collect (cons a b))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接