【发布时间】:2010-12-28 21:07:37
【问题描述】:
告诉我如何获得所有可能的哈希组合
这是一个例子
my %data = (
'a' => [qw(a1 a2 a3)],
'b' => [qw(b1 b2 b3)],
'c' => [qw(c1 c2 c3)]);
得到
a1
a2
a3
b1
b2
b3
c1
c2
c3
a1 b1
a1 b2
a1 b3
a1 c1
a1 c2
a1 c3
b1 c1
b1 c2
b1 c3
b2 c1
b2 c2
b2 c3
b3 c1
b3 c2
b3 c3
a1 b1 c1
a1 b1 c2
a1 b1 c3
a1 b2 c1
a1 b2 c2
a1 b2 c3
a1 b3 c1
a1 b3 c2
a1 b3 c3
a2 b1 c1
a2 b1 c2
a2 b1 c3
a2 b2 c1
a2 b2 c2
a2 b2 c3
a2 b3 c1
a2 b3 c2
a2 b3 c3
a3 b1 c1
a3 b1 c2
a3 b1 c3
a3 b2 c1
a3 b2 c2
a3 b2 c3
a3 b3 c1
a3 b3 c2
a3 b3 c3
谢谢
【问题讨论】:
-
您说您希望获得所有可能的组合,但是即使排除了包含相同成员的多重组合的排列,您的示例也没有列出所有可能的组合 - 例如,没有涉及 a2 的多重组合。究竟是什么标准来决定您想要哪种组合以及您不想要哪种组合?
-
这不是组合。那是排列,但只有可能的混乱的一个子集。用文字解释结果集遵循的原则,或者算法。 - 编辑:↑ 是的,canavanin 说了什么。 ↑
标签: perl hash combinations