Construyendo un mapa en función anónima en Clojure

Estoy aprendiendo el idioma y tengo una pregunta simple. ¿Por qué funciona esto (construcciones{:key "value"}):

(#(assoc {} :key %) "value")

Pero esto no:

(#({:key %}) "value")
ArityException Wrong number of args (0) passed to: PersistentArrayMap  clojure.lang.AFn.throwArity (AFn.java:429)

En Python, la última sintaxis es perfectamente válida:

> (lambda v: {'key': v})('value')
{'key': 'value'}

editar: gracias por excelentes respuestas, es evidente que necesito dejar de pensar# como equivalente alambda en Python