如何(优雅地)一次迭代两个列表?

时间:2013-03-12 12:31:07

标签: clojure

我希望找到更好看的替代代码:

(def x (range 1 10))
(def y '(0 4 3 5 1 2 7 3 11))
(for [i (range 0 (count y))] [(nth x i) (nth y i)])

如果我已经有了之前的结果,我可以简单地

(def z (for [i (range 0 (count y))] [(nth x i) (nth y i)]))
(for [[x y] z] [x y])

你能找到一些更好看的替代品吗?

示例简短易读。如果您修改它以执行更复杂的操作,则第一个示例可能会停止读取。

1 个答案:

答案 0 :(得分:8)

您可以使用map

(map vector x y)