ジェネレーター式
ジェネレーター式で遅延シーケンスを作成し、メモリを効率的に使います。
「ジェネレーター式」はCoddyKit上の無料Python Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python Academyコースには全4レッスンが含まれています。
はじめに
ジェネレーター式の構文
gen = (x**2 for x in range(5))
print(gen) # generator object
print(next(gen)) # 0
print(next(gen)) # 1メモリ効率
total = sum(x**2 for x in range(100))
print(total)ジェネレーターの消費
gen = (x for x in range(3))
for val in gen:
print(val)
# gen is now exhausted関数引数としてのジェネレーター
print(sum(x**2 for x in range(10)))
print(max(len(w) for w in ['cat', 'elephant', 'ant']))ジェネレーターの連結
evens = (x for x in range(100) if x % 2 == 0)
big_evens = (x for x in evens if x > 50)
print(list(big_evens))リストやタプルへの変換
gen = (x**2 for x in range(5))
print(list(gen))ジェネレーター式とリスト内包表記
import sys
lst = [x**2 for x in range(1000)]
gen = (x**2 for x in range(1000))
print(sys.getsizeof(lst), sys.getsizeof(gen))無限ジェネレーター
import itertools
first10 = list(itertools.islice(itertools.count(0), 10))
print(first10)ジェネレーターでの any() と all()
nums = [1, 3, 7, 2]
print(any(x > 5 for x in nums))
print(all(x > 0 for x in nums))パイプライン
data = range(1000)
filtered = (x for x in data if x % 7 == 0)
transformed = (x * 2 for x in filtered)
print(sum(transformed))理解度チェック
まとめ
次へ進みましょう
よくある質問
「ジェネレーター式」レッスンは無料ですか?
はい。「ジェネレーター式」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Python Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Python Academyコースには全4レッスンが含まれています。
「ジェネレーター式」で何を学びますか?
ジェネレーター式で遅延シーケンスを作成し、メモリを効率的に使います。 ブラウザで直接実行するハンズオンコードでPython Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Python Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのPython Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「ジェネレーター式」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このPython Academyレッスンでコードを書いて実行できますか?
はい。すべてのPython Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- リスト内包表記
- 集合内包表記と辞書内包表記
- ジェネレーター式
- yield キーワード