Mapcat and Filter
The Clojure function mapcat ( mapcan in Lisp) works much like map ( mapcar in Lisp), but with a different way of gathering results:
A function related to mapcat is filter, Which returns a list of only those items that satisfy a predicate.
(defn filtr [predicate lst]
  (mapcat (fn [item]
              (if (predicate item)
                  (list item) ))
          lst) )
>(filter number? '(a 2 or 3 and 7))
      ;           ()(2)()(3)() (7)
(2 3 7)
>(filter symbol? '(a 2  or 3  and 7))
      ;           (a)()(or)()(and)()
(A OR AND)