1
一つは、私は、彼らが異なることが唯一の方法はf
はそうではないg
は、メモリが不足する可能性がありますということであると考えてい機能イテレータによる歩留まりの数を数えますか?
def f(iterator):
count = 0
for _ in iterator:
count += 1
return count
def g(iterator):
return len(tuple(iterator))
を考慮することができます。
私はそのことについて権利だと仮定すると:
は
tuple(iterator)
より少ないメモリを使用しながらf(iterator)
を取得するための迅速かつ/またはそれ以外の場合は、より良い(コードゴルフになることなく大体、短い) 方法が占めるあり、好ましくはインラインで を関数としてではなく、
(異なることf
、g
ためのいくつかの他の方法があれば、私は f
が正しく、私が後だ機能を定義するg
よりも可能性があると信じている。 私はすでにthe itertools documentation pageを見て、そこにどんな解決策が表示されていない)