17得票2回答
如何创建一个函数,可以从迭代器的迭代器中创建笛卡尔积迭代器?(涉及IT技术)

如果我想在Haskell中创建一个列表的笛卡尔积,可以这样做: product [] = [[]] product (xs:xss) = concatMap (\k -> map (k:) (product1 xss)) xs 甚至是这个:或者这个: sequence xss ...

17得票4回答
大型迭代器的笛卡尔积(itertools)

从之前的问题中,我学到了一些有趣的东西。如果Python的itertools.product被提供了一系列迭代器,这些迭代器将在笛卡尔积开始之前转换为元组。相关的问题查看itertools.product的源代码得出,虽然没有中间结果存储在内存中,但在积的迭代开始之前,原始迭代器的元组版本被创...

15得票5回答
我如何迭代地计算笛卡尔积?

这个问题询问如何计算给定数量向量的笛卡尔积。由于向量数量是预先知道且相对较小的,所以可以通过嵌套for循环轻松获得解决方案。 现在假设你使用你选择的语言拥有一个向量的向量(或列表的列表,或集合的集合等):l = [ [1,2,3], [4,5], [6,7], [8,9,10], [11,1...

15得票4回答
Haskell无限列表的笛卡尔积

我想从一个基向量对中生成一个向量空间,它看起来像这样:genFromPair (e1, e2) = [x*e1 + y*e2 | x <- [0..], y <- [0..]] 当我检查输出时,似乎我得到的是 [0, e2, 2*e2,...] (即 x 从不超过0)。如果我考虑如...

14得票1回答
如何懒惰地评估嵌套的flatMap。

我试图从两个可能无限的流中召唤笛卡尔积,然后通过limit()进行限制。 到目前为止,这大致是我的策略:@Test void flatMapIsLazy() { Stream.of("a", "b", "c") ...

14得票3回答
如何在F#中计算n个序列的笛卡尔积?

我收到了一个谜题作为礼物,它由四个正方体组成,排成一排。每个立方体的面都是四种颜色之一。 为了解决这个谜题,必须将正方体定向,以使所有四个正方体的顶部不同,所有正方体的前面、后面和底部也不同。左侧和右侧不重要。 我的伪代码解决方案是: 1. 创建每个正方体的表示。 2. 获取每个正方体的...

14得票6回答
Clojure中的笛卡尔积

我正在尝试实现一个方法,它将接受一个列表的列表,并返回这些列表的笛卡尔积。 以下是我的代码: (defn cart ([] '()) ([l1] (map list l1)) ([l1 l2] (map (fn f[x] (map (fn g [y] (li...

13得票4回答
Julia中两个向量的笛卡尔积

我有两个向量x和y,长度分别为n和p。是否有一种内置的方法可以创建一个np x 2矩阵,它将是x[1] y[1] x[1] y[2] ... x[1] y[p] x[2] y[1] ... x[n] y[p] 我可以用嵌套的for循环来实现,但我在寻找一个内置函数(如果存在的话)。

13得票6回答
在Perl中,我如何得到多个集合的笛卡尔积?

我想在Perl中进行排列组合。例如,我有三个数组:["big", "tiny", "small"],然后是["red", "yellow", "green"],以及["apple", "pear", "banana"]。 我该如何得到: ["big", "red", "apple"] ["...

12得票6回答
计算n元笛卡尔积

给定两个列表,我可以产生这两个列表的Cartesian积:permute :: [a] -> [a] -> [[a]] permute xs ys = [ [x, y] | x <- xs, y <- ys ] Example> permute [1,2] [3...