Pythonのイテレータ関数
説明
Iteratorは、反復プロトコルを実装するPythonのオブジェクトです。タプル、リスト、セットは、Pythonでは組み込みイテレータと呼ばれます。反復プロトコルには2つのタイプのメソッドがあります。
__ iter __(): このメソッドは、イテレータを初期化するときに呼び出され、next()または__next __()(Python 3の場合)メソッドで構成されるオブジェクトを返す必要があります。
next()または__next __()(Python 3の場合): このメソッドは、反復シーケンスから次の要素を返す必要があります。イテレータがforループで使用される場合、forループはイテレータオブジェクトのnext()を直接呼び出します。
サンプルコード
# creating a custom iterator class Pow_of_Two: def __init__(self, max = 0): self.max = max def __iter__(self): self.n = 0 return self def __next__(self): if self.n <= self.max: result = 2 ** self.n self.n += 1 return result else: raise StopIteration("Message") a = Pow_of_Two(4) i = iter(a) print(i.__next__()) print(next(i)) print(next(i)) print(next(i)) print(next(i)) print(next(i))
出力
1 2 4 8 16 StopIteration error will be raised
-
Pythonのissubset()関数
この記事では、Python標準ライブラリで利用可能なissubset()関数の実装と使用法について学習します。 issubset()メソッドは、セットのすべての要素が別のセットに存在する場合(引数として渡される場合)はブール値のTrueを返し、それ以外の場合はブール値のFalseを返します。 下の図では、BはAのサブセットです。AとBが同一のセットである場合、AはBの適切なサブセットであることを意味します。これは、両方のセットに同じ要素が含まれていることを意味します。 構文 <set 1>.issubset(<set 2>) 戻り値 boolean True/
-
Intersection()関数Python
この記事では、任意のセットで実行できるintersection()関数について学習します。数学によると、共通部分とは、2つのセットから共通の要素を見つけることを意味します。 構文 <set name>.intersection(<set a1> <set a2> ……..) 戻り値 引数として渡されるセット内の共通要素。 例 set_1 = {'t','u','t','o','r','i','a','l&