(defun vector-neighbor-indices (vector i) (let ((result '())) (unless (= i 0) (push (1- i) result)) (unless (= i (1- (length vector))) (push (1+ i) result)) result)) CL-USER> (vector-neighbor-indices #(0 1 2 3 4 5 6) 2) (3 1) CL-USER> (vector-neighbor-indices #(0 1 2 3 4 5 6) 0) (1) CL-USER> (vector-neighbor-indices #(0 1 2 3 4 5 6) 6) (5)