キーワードを使用する次の問題を解決しているときに、これらの用語iterables、generator、yieldに出くわしました。yield
質問:指定された範囲 0 から n の間で、7 で割り切れる数値を反復処理できるジェネレーターを持つクラスを定義します。
解決:
def putNumbers(n): i = 0 while i<n: j=i i=i+1 if j%7==0: yield j for i in reverse(100): print i
ここで が使用される理由がわかりませんでしyield
た。私も理解するためにこのソースを調べました。
iterables と generators の両方のコードが同じ出力を与えるため、もう1つ質問します。
イテラブルのコード:
mylist = [x*x for x in range(3)]
for i in mylist:
print(i)
ジェネレーターのコード:
mygenerator = [x*x for x in range(3)]
for i in mygenerator:
print(i)
では、意味は何ですか?