Python で iter() 関数を使用して反復可能オブジェクトのイテレータを取得する方法
Python では、反復は非常に一般的なプログラミング操作です。反復操作を通じて、反復可能なオブジェクト内の要素に 1 つずつアクセスできます。 Python の反復可能なオブジェクトには、リスト、タプル、文字列、辞書、セットなどが含まれます。反復操作を実装するには、まず反復可能オブジェクトの反復子を取得する必要があります。 iter() 関数は、反復可能オブジェクトのイテレータを取得するために使用されます。
iter() 関数は、反復子オブジェクトを返す Python の組み込み関数です。イテレータは、next() 関数を通じて要素に 1 つずつアクセスできるオブジェクトです。 iter() 関数には主に 2 つの用途があります。1 つは反復可能オブジェクトを渡すこと、もう 1 つは呼び出し可能オブジェクトを渡すことです。
まず、最初の使用法を見てみましょう。これは、反復可能なオブジェクトを渡すことです。以下は例です:
num_list = [1, 2, 3, 4, 5] iter_obj = iter(num_list) print(next(iter_obj)) # 输出1 print(next(iter_obj)) # 输出2 print(next(iter_obj)) # 输出3 print(next(iter_obj)) # 输出4 print(next(iter_obj)) # 输出5
この例では、最初にリスト num_list
を定義し、それから iter() 関数を通じてそれを反復子オブジェクト iter_obj# に変換します # #。その後、next() 関数を使用して
iter_obj 内の要素に 1 つずつアクセスし、出力結果は 1、2、3、4、および 5 になります。
import random class RandomNumberGenerator: def __iter__(self): return self def __next__(self): return random.randint(1, 10) rng = RandomNumberGenerator() iter_obj = iter(rng) print(next(iter_obj)) # 输出一个随机数 print(next(iter_obj)) # 输出另一个随机数 print(next(iter_obj)) # 又输出一个随机数この例では、
__iter__() および
__next__() メソッドを実装する
RandomNumberGenerator クラスを定義します。
__iter__() メソッドは、反復子オブジェクト自体である
self を返しますが、
__next__() メソッドは呼び出されるたびに乱数を返します。次に、
RandomNumberGenerator オブジェクト
rng を作成し、それを iter() 関数に渡してイテレータ オブジェクト
iter_obj を取得しました。最後に、next() 関数を使用して
iter_obj 内の要素に 1 つずつアクセスします。出力結果はランダムに生成された値です。
以上がPython で iter() 関数を使用して反復可能オブジェクトのイテレータを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。