gpt4 book ai didi

for-loop - 如何从 Clojure 中的嵌套 for 循环生成一个惰性序列

转载 作者:行者123 更新时间:2023-12-02 06:54:12 24 4
gpt4 key购买 nike

这是一个关于如何从嵌套的 for 中正确收集结果的问题。在 Clojure 中循环。假设您要创建所有向量的序列 [i j]其中 0<=j<i<4

下面的代码

(for [i (range 1 4)] 
(for [j (range i)]
[i j]
)
)

产生

(([1 0]) ([2 0] [2 1]) ([3 0] [3 1] [3 2]))

但我真正想得到的是

([1 0] [2 0] [2 1] [3 0] [3 1] [3 2])

正确的做法是什么?

请注意,我对这个特定序列不感兴趣。我在这里的目的是学习如何从嵌套的 for 中收集结果。循环,我需要它来解决更复杂的问题。

最佳答案

不要嵌套两个循环,而是使用一个带有两个迭代器的循环:

(for [i (range 1 4)
j (range i)]
[i j])

关于for-loop - 如何从 Clojure 中的嵌套 for 循环生成一个惰性序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35120416/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com