生成组合

时间:2011-04-27 18:29:58

标签: wolfram-mathematica

每次我必须这样做,我“发明”一种不同的方式。是时候标准化了。我怀疑有一些默认命令我忽略了准备这样做,所以如果问题太微不足道,我很抱歉。

获得更好(记忆,表现)的方式是什么:

 combinations[{1,2,3},2] = {{1,2},{1,3},{2,3}}

当然,输入列表中包含任意元素。

2 个答案:

答案 0 :(得分:17)

Subsets[{1, 2, 3}, {2}]

是内置方式。

答案 1 :(得分:7)

Subsets作为核心功能添加之前,Combinatorica函数KSubsets可用。

Needs["Combinatorica`"]

KSubsets[{1, 2, 3}, 2]

(*  {{1, 2}, {1, 3}, {2, 3}}  *)

Combinatorica仍提供其他功能,例如NextKSubset

NextKSubset[{1, 2, 3}, {1, 3}]

(*  {2, 3}  *)

这最后一项功能对内存管理非常有用。