Common Lisp :Как лучше всего перебрать последовательные пары в списке?

Иногда мне нужно перебирать последовательные пары в списке. Я делаю это прямо сейчас

(loop for x on lst while (not (null (cdr x)))
       (do something on (car x) and (cadr x)))

Мне интересно, есть ли лучший/построенный -способ сделать это.

Причина, по которой мне это нужно, - иногда я хочу, например. некоторая функция, добавляющая последовательные пары

(1 2 3 4 5) ----> (3 5 7 9)

Есть ли встроенная -функция, такая как сокращение, которая позволяет мне получить это?

6
задан h__ 10 August 2012 в 16:30
поделиться