イテレータとイテラブル
独自の反復動作を作成するためのイテレータプロトコルを学びます。
「イテレータとイテラブル」はCoddyKit上の無料Learn AI with Pythonレッスンです。 これはレッスン5/5です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはLearn AI with Python学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Learn AI with Pythonコースには全5レッスンが含まれています。
イテレーターとイテラブル入門
イテレーターとイテラブル入門
イテレーターとイテラブルは、Pythonでデータのシーケンスを扱うための基本的な概念です。ループ、内包表記、ジェネレーターの基盤となります。
このレッスンでは、イテレーターとイテラブルの仕組み、および独自のイテレーターを作成する方法を学びます。

イテラブルとは
イテラブルとは
イテラブルとは、Pythonで for ループを使って反復処理できるオブジェクトです。リスト、タプル、集合、辞書などが例として挙げられます。
# Example of an iterable
my_list = [1, 2, 3]
for item in my_list:
print(item) # Outputs: 1, 2, 3イテレーターとは
イテレーターとは
イテレーターは、データのストリームを表すオブジェクトです。__iter__()メソッドと__next__()メソッドを実装します。
# Example of an iterator
my_list = [1, 2, 3]
iterator = iter(my_list)
print(next(iterator)) # Outputs: 1
print(next(iterator)) # Outputs: 2
print(next(iterator)) # Outputs: 3イテラブルとイテレータの違い
イテラブルとイテレータの違い
イテラブルは(リストなど)ループで反復処理できます。一方、イテレータはnext()メソッドを使って一度に1つの項目を生成します。イテラブルをiter()関数に渡すと、イテレータになります。
カスタムイテレーターの作成
カスタムイテレーターの作成
__iter__()メソッドと__next__()メソッドを定義したクラスを作成することで、カスタムイテレーターを作成できます。
# Custom iterator example
class Counter:
def __init__(self, start, end):
self.current = start
self.end = end
def __iter__(self):
return self
def __next__(self):
if self.current > self.end:
raise StopIteration
self.current += 1
return self.current - 1
counter = Counter(1, 5)
for number in counter:
print(number) # Outputs: 1, 2, 3, 4, 5<code>iter()</code>関数の使用
iter()関数の使用
iter()関数は、イテラブルからイテレータオブジェクトを返します。
# Using iter() on a list
my_list = [1, 2, 3]
iterator = iter(my_list)
print(next(iterator)) # Outputs: 1StopIterationの処理
StopIterationの処理
イテレーターを最後まで処理すると、StopIteration例外が発生します。これは、シーケンスの終端をPythonが通知する仕組みです。
# Handling StopIteration
my_list = [1, 2, 3]
iterator = iter(my_list)
while True:
try:
print(next(iterator))
except StopIteration:
breakイテレーターとジェネレーターの比較
イテレーターとジェネレーターの比較
ジェネレーターは、イテレーターを作成するためのより簡単な方法です。__iter__()メソッドと__next__()メソッドが自動的に実装されます。
# Example of a generator as an iterator
def my_generator():
yield 1
yield 2
yield 3
for value in my_generator():
print(value) # Outputs: 1, 2, 3イテレータでよくある間違い
イテレータでよくある間違い
ここでは、避けるべき間違いを紹介します。
- カスタムイテレータで
__iter__()と__next__()を実装し忘れること。 StopIteration例外を適切に処理しないこと。- イテレータとイテラブルを混同すること。
何を学びましたか
何を学びましたか
このレッスンでは、次のことを学びました。
- イテラブルとイテレータの違い。
__iter__()と__next__()を使ってカスタムイテレータを作成する方法。iter()関数を使い、StopIteration例外を処理する方法。- ジェネレータによってイテレータの作成が簡単になること。
よくできました。次のトピックに進みましょう。

よくある質問
「イテレータとイテラブル」レッスンは無料ですか?
はい。「イテレータとイテラブル」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Learn AI with Pythonコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Learn AI with Pythonコースには全5レッスンが含まれています。
「イテレータとイテラブル」で何を学びますか?
独自の反復動作を作成するためのイテレータプロトコルを学びます。 ブラウザで直接実行するハンズオンコードでLearn AI with Pythonを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Learn AI with Pythonを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのLearn AI with Pythonは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン5/5です。
「イテレータとイテラブル」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このLearn AI with Pythonレッスンでコードを書いて実行できますか?
はい。すべてのLearn AI with Pythonレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。