Python
 Computer >> コンピューター >  >> プログラミング >> Python

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

  1. Pythonのissubset()関数

    この記事では、Python標準ライブラリで利用可能なissubset()関数の実装と使用法について学習します。 issubset()メソッドは、セットのすべての要素が別のセットに存在する場合(引数として渡される場合)はブール値のTrueを返し、それ以外の場合はブール値のFalseを返します。 下の図では、BはAのサブセットです。AとBが同一のセットである場合、AはBの適切なサブセットであることを意味します。これは、両方のセットに同じ要素が含まれていることを意味します。 構文 <set 1>.issubset(<set 2>) 戻り値 boolean True/

  2. Intersection()関数Python

    この記事では、任意のセットで実行できるintersection()関数について学習します。数学によると、共通部分とは、2つのセットから共通の要素を見つけることを意味します。 構文 <set name>.intersection(<set a1> <set a2> ……..) 戻り値 引数として渡されるセット内の共通要素。 例 set_1 = {'t','u','t','o','r','i','a','l&