(format nil "I have~{ ~(~A~)~#[~;, and~:;,~]~}." '(red green blue black white yellow))
a = ["red", "green", "blue", "black", "white", "yellow"]; "I have %s and %s" % (", ".join(a[:-1]), a[-1])
Well almost... (loop for x from 1 to 10
as x-sqr = (* x x)
collect x-sqr)
Or something like that.