在 Clojure 中是否有一种“正确”的方法来迭代二维序列?
假设我有一个数字列表,就像这样
((1 2 3)
(4 5 6)
(7 8 9))
我想生成一个新的列表列表,每个数字加一。在 Clojure 中是否有一种简单的方法可以在不依赖嵌套映射或循环/递归的情况下执行此操作?我已经能够做到,但是我的解决方案很难看,而且当我重新阅读它们时,我发现它们很难理解。
谢谢
最佳答案
你总是可以只使用列表理解。我发现自己经常使用它们来自命令式背景,所以我不知道它是多么地道。在您的具体情况下,您可以执行以下操作:
(for [my-list my-matrix] (map inc my-list))
关于clojure - 在 Clojure 中惯用地迭代 2(或更高)维序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8089074/