arrays - 从N个数组中获取所有组合

标签 arrays perl combinations

我有数组数组。

@a=([1,2,3],['b','r','g'],['L','X']);


并希望得到以下结果:

@b=(
[1,'b','L'],[1,'b','X'],
[1,'r','L'],[1,'r','X'],
[1,'g','L'],[1,'g','X'],

[2,'b','L'],[2,'b','X'],
[2,'r','L'],[2,'r','X'],
[2,'g','L'],[2,'g','X'],

[3,'b','L'],[3,'b','X'],
[3,'r','L'],[3,'r','X'],
[3,'g','L'],[3,'g','X'],
)


我的输入数组@a具有2到6个嵌套数组

不知道如何在cpan上找到此功能。

最佳答案

use Algorithm::Loops qw( NestedLoops );
my @b; NestedLoops(\@a, sub { push @b, [ @_ ] });

关于arrays - 从N个数组中获取所有组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19103377/

相关文章:

javascript - Google 脚本 - 无法写入单个二维数组元素

perl - 为什么 undef 列表在 Perl 中不是只读或常量值?

perl - 如何在 Perl 中计算二进制统计数据?

r - R 中向量及其负数的所有组合

php - 将 postman 多级数组插入数据库

arrays - 在vhdl中获取数组子类型的范围属性

javascript - Angularjs - 多维数组中的 `ng-model`

regex - 使用 sed 替换复杂模式

r - 作为双向矩阵的所有成对行积的总和

language-agnostic - 您将如何以最紧凑的方式为大型组合编写此算法?