ホームページ >バックエンド開発 >Python チュートリアル >Python の「enumerate()」関数はどのように機能し、どのようにカスタマイズできるのでしょうか?
Python の Enumerate について
Python の enumerate() 関数は、各要素に数値カウンターを追加することで反復可能を強化します。 。与えられた特定のコンテキストでそれが何を意味するかを調べてみましょう:
for row_number, row in enumerate(cursor):
ここでのカーソルは、一連の要素を含む反復可能です。要素ごとに、enumerate() はカウンター (row_number) と要素自体 (row) を含むタプルを生成します。 for ループは、これらのタプルを変数 row_number と row にそれぞれ割り当てます。
列挙の実際の動作
簡単に言えば、 enumerate() は、実行中のカウントを反復可能要素に追加します。指定されたコードでは、カウントを 0 から開始し、後続の要素ごとに 1 ずつ増加します。これにより、反復可能オブジェクトを反復処理し、カウントと要素の両方に同時にアクセスできるようになります。
デモ
次の例を考えてみましょう:
elements = ('foo', 'bar', 'baz') for elem in elements: print(elem)
出力:
foo bar baz
さて、使ってみましょうenumerate():
for count, elem in enumerate(elements): print(count, elem)
Output:
0 foo 1 bar 2 baz
この場合、インデックス (count) と対応する要素 (elem) の両方を取得します。
カスタマイズと実装
デフォルトでは、enumerate() は 0 からカウントを開始します。ただし、オプションの 2 番目の引数を指定して、別の数値から開始することができます。例:
for count, elem in enumerate(elements, 42): print(count, elem)
出力:
42 foo 43 bar 44 baz
ネイティブ Python 構造またはサードパーティ ライブラリを使用して、独自のバージョンの enumerate() を作成することもできます。例:
def enumerate(it, start=0): return zip(count(start), it) # Using itertools.count()
または:
def enumerate(it, start=0): count = start for elem in it: yield count, elem count += 1
これらのカスタム実装は、Python のプログラミング パラダイムの柔軟性を示します。
以上がPython の「enumerate()」関数はどのように機能し、どのようにカスタマイズできるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。