部分配列を取りだす - lisp-cookbook-ja/common-lisp GitHub Wiki

配列

部分配列を取りだす

subseq 関数により配列の一部分を取りだすことができます。

(let ((a (vector 1 2 3 4 5)))
  (list 
   (subseq a 1 2)
   (subseq a 2)))
;=> #((2) #(3 4 5))

また、 setf と組み合わせることも可能です。

(let ((a (vector 1 2 3 4 5)))
  (setf (subseq a 2)
        (nreverse (subseq a 2)))
  a)
;=> #(1 2 5 4 3)