私たちは、次の発電機や発電機の機能を検討している場合:なぜビルトインITERファンクションジェネレータ関数ジェネレータにジェネレータ関数を使用するためにジェネレータをiterに渡すのはなぜですか?
def integers():
"""Infinite sequence of integers."""
i = 1
while True:
yield i
i = i + 1
def take(n, seq):
"""Returns first n values from the given sequence."""
seq = iter(seq)
result = []
try:
for i in range(n):
result.append(seq.next())
except StopIteration:
pass
return result
print take(5, integers()) # prints [1,2,3,4,5]
と呼ばれなければなりませんの?コードはまだ実行され、正しい値が印刷されます。
その行を削除して、実行するリストを渡すようにしてください。 'take([1、2、3]、2)' –