Wolfram mathematica 生成组合

Wolfram mathematica 生成组合,wolfram-mathematica,Wolfram Mathematica,每次我必须这样做时,我都会“发明”一种不同的方法。是时候标准化了。我怀疑有一些默认命令我忽略了准备做这件事,所以我很抱歉事先如果这个问题太琐碎 以下哪种方式(内存、性能)更好: combinations[{1,2,3},2] = {{1,2},{1,3},{2,3}} 当然,输入列表中有任意元素 Subsets[{1, 2, 3}, {2}] 是内置方式。在将子集添加为核心函数之前,Combinatica函数KSubsets可用 Needs["Combinatorica`"] KSubs

每次我必须这样做时,我都会“发明”一种不同的方法。是时候标准化了。我怀疑有一些默认命令我忽略了准备做这件事,所以我很抱歉事先如果这个问题太琐碎

以下哪种方式(内存、性能)更好:

 combinations[{1,2,3},2] = {{1,2},{1,3},{2,3}}
当然,输入列表中有任意元素

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

是内置方式。

在将
子集
添加为核心函数之前,Combinatica函数
KSubsets
可用

Needs["Combinatorica`"]

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

(*  {{1, 2}, {1, 3}, {2, 3}}  *)
Combinatica仍然提供附加功能,例如
NextKSubset

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

(*  {2, 3}  *)

最后一个函数对内存管理非常有帮助。

该死,我知道它太琐碎了:)。谢谢卡,祝贺你获得开明徽章!如果你想搜索“子集”,那就没什么大不了的了。如果你,相当合理地,只想搜索“组合”,那么,好吧,通过问这个问题,你已经为所有这些未来的人做了一个伟大的服务@德雷夫斯非常感谢你!现在,如果你真的想责怪我,看看我在这里写的第三行代码,我在帮助中心花了两个步骤:组合=>元组=>子集(当然我已经知道了,所以这可能有帮助)C'mon@Sjoerd,我们在讨论它有多难。我几乎恢复了我的自尊心,你的评论是:)我必须做些事情来增加我自己的自尊心。Wizard先生在今天回答问题的比赛中一直击败我。现在自尊很低。我得找一个我自己的标签。你得找到4000个!恭喜。。。现在4010