Построение карты по анонимной функции в Clojure

Я только учу язык, и у меня есть простой вопрос. Почему это работает (конструирует{:key "value"}):

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

Но это не так:

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

На Python последний синтаксис совершенно корректен:

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

редактировать: спасибо за отличные ответы, очевидно, мне нужно перестать думать# как эквивалентlambda в Python.

Ответы на вопрос(2)

Ваш ответ на вопрос