2009-10-07 55 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