每次我必须这样做,我“发明”一种不同的方式。是时候标准化了。我怀疑有一些默认命令我忽略了准备这样做,所以如果问题太微不足道,我很抱歉。
获得更好(记忆,表现)的方式是什么:
combinations[{1,2,3},2] = {{1,2},{1,3},{2,3}}
当然,输入列表中包含任意元素。
答案 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} *)
这最后一项功能对内存管理非常有用。