Common Lisp provide many iteration-related macros, but their usages often confuse beginners. So I think it the time to write an introduction to Lisp iteration/loop.
In Emacs Lisp, the following function/macro are also available, but
(require 'cl)
first is necessary.