是否可以对Clojure中的列表应用两个函数?

是否可以对Clojure中的列表应用两个函数?,clojure,Clojure,我想调用我编写的函数,并将元素添加到哈希映射中。我想知道如何将这两个函数应用于同一个列表 例如,我有下面的DFS递归代码 defn dfs重现[迷宫当前位置目标位置父项] ;;要将以下列表中的元素添加到父映射中吗 ;; 给他们打电话 def未访问过滤器不包含?父级%get-curr loc 迷宫 如果我用python实现它,它看起来会像这样。问题是,我不明白如何在Clojure中一次完成for循环中的所有4件事情 def dfs重新规格化、当前位置、目标位置、父项: 邻居=获取邻居迷宫,当前位置

我想调用我编写的函数,并将元素添加到哈希映射中。我想知道如何将这两个函数应用于同一个列表

例如,我有下面的DFS递归代码

defn dfs重现[迷宫当前位置目标位置父项] ;;要将以下列表中的元素添加到父映射中吗 ;; 给他们打电话 def未访问过滤器不包含?父级%get-curr loc 迷宫 如果我用python实现它,它看起来会像这样。问题是,我不明白如何在Clojure中一次完成for循环中的所有4件事情

def dfs重新规格化、当前位置、目标位置、父项: 邻居=获取邻居迷宫,当前位置 对于我的邻居: 如果我是家长: 打破 父[i]=当前位置 如果i==目标位置: 打破 父项=dfs重新规格化,i,目标位置,父项 返回父级 比如:

(assoc {} your-key (your-func your-list))

你在找像这样的东西吗

(into {} (for [x your-list] [x (val-func x)])

=> (into {} (for [x [1 2 3]] [x (str x)]))
{1 "1", 2 "2", 3 "3"}
或具有钥匙功能的:

=> (into {} (for [x [1 2 3]] [(str x) (* x x)]))
{"1" 1, "2" 4, "3" 9}
当可以执行多个操作而不返回时使用

比如说

当条件 assoc{}键值 递归函数arg1 arg2
需要更多的细节。那…离工作代码还很远,而且…仍然不清楚你想要什么。这会起作用,但我希望列表中的元素成为映射中的键,但我也想在它们上调用我的函数如何:reduce fn[acc item]assoc acc item your function your list{}your list我喜欢for循环的想法,我不知道如何在同一个for循环中执行多个操作。