[Python-ml-jp 5016] itertoolsが無限イテレータを扱えないのは何故ですか?

小本健司 doloopwhile @ gmail.com
2010年 8月 28日 (土) 10:32:59 JST


小本です。
itertoolsについて質問です。

先日itertoolsをClojureに移植しようとしたところ、
productやcombinationsなどは無限長のイテレータを扱えない事に気づきまし
た。一旦イテレータをタプルに変換しようとします。

したがって次のコードは固まります。
from itertools import *
product(count(), count())

productはネストしたfor文と同じ順序にする関係上、仕方ないのかもしれません。

しかし、combinationsやpermutationsがあえて無限長に対応していないのは何故
なのでしょうか?無限長に対応させる事自体はさほど難しくは無いはずです。

-- 
小本健司 <doloopwhile @ gmail.com>


Python-ml-jp メーリングリストの案内