アンドロイド

Python列挙

目次:

Anonim

enumerate() はPythonの組み込み関数で、反復可能オブジェクトをループしながら自動カウンターを使用できます。

Python enumerate() 関数

enumerate() 関数は次の形式を取ります。

enumerate(iterable, start=0)

この関数は2つの引数を受け入れます。

  • iterable をサポートするオブジェクト。 start カウンターの開始番号。 この引数はオプションです。 デフォルトでは、カウンターは0から始まります。

enumerate() は、 __next__() (またはPython 2では next() )メソッドを呼び出して、 __next__() 可能オブジェクトのカウントと現在の値を含むタプルを取得できる列挙オブジェクトを返します。

以下は、 list() を使用してタプルのリストを作成する方法と、反復可能オブジェクトをループする方法の例です。

directions = list(enumerate(directions)) for index, value in enumerate(directions): print("{}: {}".format(index, value))

0: north 1: east 2: south 3: west

ゼロベースのインデックス付けが機能しない場合は、列挙に別の開始インデックスを選択します。

directions = list(enumerate(directions, 1))

enumerate() 関数は、反復可能なオブジェクトに対して機能します。 反復可能オブジェクトとは、反復可能なコンテナです。 簡単に言えば、 for ループでループできるオブジェクトを意味 for ます。 文字列、リスト、タプルなどのPythonの組み込みオブジェクトのほとんどは反復可能です。

enumerate() でさらにPythonicコードを書く

Pythonの for ループは、多くのプログラミング言語で利用可能な従来のCスタイルの for ループとはまったく異なります。 Pythonの for ループは、他の言語の foreach ループと同等です。

イテラブルを処理するときに対応するインデックスを取得するために新しいPython開発者が使用する一般的な手法は、 range(len(…)) パターンを使用するか、カウンターを設定およびインクリメントすることです。

planets = for i in range(len(planets)): print("Planet {}: {}".format(i, planets))

planets = i = 0 for planet in planets: print("Planet {}: {}".format(i, planet)) i += 1

上記のループは、 enumerate() を使用して、より慣用的な方法で書き換えることができます。

planets = for index, value in enumerate(planets): print("Planet {}: {}".format(index, value))

すべてのメソッドは同じ出力を生成します:

Planet 0: Mercury Planet 1: Venus Planet 2: Earth Planet 3: Mars Planet 4: Jupiter Planet 5: Saturn Planet 6: Uranus Planet 7: Neptune

結論

、Pythonの enumerate() 関数の使用方法を示しました。

python