One can iterate over a list using ~{ and ~} directives.
CL-USER> (format t "~{~a, ~}~%" '(1 2 3 4 5))
1, 2, 3, 4, 5,
~^ can be used to escape if there are no more elements left.
CL-USER> (format t "~{~a~^, ~}~%" '(1 2 3 4 5))
1, 2, 3, 4, 5
A numeric argument can ...