2009-10-07 22 views

回答

3

itertools确实远远超过只是的组合和排列,所以(虽然它肯定是不错的Java编码时,把所有的itertools ;-)你可以用少得多的闪避。

例如,对于排列,参见here;对于组合,here(这两个类都来自同一作者)。

+0

谢谢,可能我会从您分享的链接中调整一些内容。我也同意,拥有所有itertools将会很棒。 – 2009-10-07 02:54:00

+0

@Fabio,我同意。如果我不得不经常使用Java(现在我不这么做),那么我就不会认真考虑这么做。 – 2009-10-07 03:50:17

+3

@AlexMartelli:好像您的链接已损坏:( – oDDsKooL 2013-07-03 07:31:17

10

我实际上做itertools的端口java:它叫做neoitertools

任何反馈都会赞赏,因为它仍处于测试阶段。还缺少“产品”功能以及一些密集型测试。

+0

谢谢!顺便说一下,我已经发布了neoitertools ,我会非常感谢任何反馈! – eric 2011-05-06 23:59:42

1

我只是抛出这个,但不应该有可能使用Jython直接从Java使用Python的itertools实现吗?它是基于C的api吗?

[一个谷歌后]

itertools (Jython API documentation)

其实,上面列出的neoitertools项目看起来非常有前途,这似乎是在[十分]积极开发(据谷歌代码),看起来是一个完成itertools功能的实现,再加上它可以通过Maven使用。

只是我2便士。

+0

听起来像是过度杀伤我。此外,不知道你会从发电机中受益,因为你可能需要把整个列表从Jython带到Java(除非你愿意每次迭代调用Jython) – 2015-03-03 14:43:24

1

几年后,combinatorics似乎符合您的需求。从自述中摘取:

Simple permutations 
Permutations with repetitions 
Simple combinations 
Combinations with repetitions 
Subsets 
Integer Partitions 
List Partitions 
Integer Compositions