Python の Enumerate() 関数:ループ、タプル、文字列 (例)
Python Enumerate とは
Python Enumerate() Python ライブラリで利用できる組み込み関数です。指定された入力をコレクションまたはタプルとして受け取り、列挙オブジェクトとして返します。 Python の Enumerate() コマンドは、反復可能なオブジェクトの各項目にカウンターを追加し、列挙オブジェクトを出力文字列として返します。
この Enumerate Python チュートリアルでは、次のことを学びます:
- Python Enumerate とは?
- 構文
- Python の例での Enumerate()
- startIndex のあるリストで Enumerate() を使用する
- 列挙型オブジェクトのループ
- タプルの列挙
- 文字列の列挙
- 辞書を列挙する
- 列挙を使用する利点
Python enumerate() の構文
enumerate(iterable, startIndex)
パラメータ
3 つのパラメーターは次のとおりです。
- 反復可能 :ループできるオブジェクト。
- StartIndex :(オプション) カウントは、ループの最初の項目の startIndex で指定された値から開始し、ループの最後に到達するまで、次の項目の値を増やします。
ただし、startIndex が指定されていない場合、カウントは 0 から開始されます。
戻り値:
入力として与えられた iteratorobject への各項目の countvalue とともに、 iterableobject を返します。
Python の例での Enumerate()
Enumerate メソッドには、Python の Enumerate リストに存在する各項目への自動カウンター/インデックスが付属しています。 firstindex 値は 0 から始まります。enumerate でオプションのパラメータ startIndex を使用して startindex を指定することもできます。
例
以下のコードでは、mylist は Python の Enumerate 関数に与えられたリストです。 list() 関数は、Python の列挙出力を表示するために使用されます。
注: startIndex が使用されていないため、最初のアイテムのインデックスは 0 から始まります。
enumerate からの出力は次のようになります:
(0, item_1), (1, item_2), (2, item_3), … (n, item_n)
ファイル:python_enumerate.py
mylist = ['A', 'B' ,'C', 'D'] e_list = enumerate(mylist) print(list(e_list))
出力:
[(0, 'A'), (1, 'B'), (2, 'C'), (3, 'D')]
startIndex のあるリストで Enumerate() を使用する
以下の例では、startindex は 2 として指定されています。最初のアイテムのインデックスは、指定された startindex から始まります。
例:
以下の例では、mylist は列挙するために指定されたリストです。 list() 関数は、列挙出力を表示するために使用されます。
mylist = ['A', 'B' ,'C', 'D'] e_list = enumerate(mylist,2) print(list(e_list))
出力:
[(2, 'A'), (3, 'B'), (4, 'C'), (5, 'D')]
列挙型オブジェクトのループ
この例は、startIndex を使用する場合と使用しない場合のオブジェクトの列挙を示しています。
- 最初の for ループには startIndex がないため、インデックスは 0 から始まります。
- 2 番目の for ループの startIndex は 10 なので、インデックスは 10 から始まります。
例:
mylist = ['A', 'B' ,'C', 'D'] for i in enumerate(mylist): print(i) print("\n") print("Using startIndex as 10") for i in enumerate(mylist, 10): print(i) print("\n")
出力:
(0, 'A') (1, 'B') (2, 'C') (3, 'D') Using startIndex as 10 (10, 'A') (11, 'B') (12, 'C') (13, 'D')
タプルの列挙
以下の例では、列挙内でタプルを使用できます。また、startIndex を使用することもできます。各項目のキーは、指定された startIndex から開始されます。
デフォルトでは、startIndex は 0 です。したがって、アイテム A のキーは 0、B のキーは 1 などと表示されます。
例:
my_tuple = ("A", "B", "C", "D", "E") for i in enumerate(my_tuple): print(i)
出力:
(0, 'A') (1, 'B') (2, 'C') (3, 'D') (4, 'E')
文字列の列挙
Python では、文字列は配列であるため、ループすることができます。 enumerate() に文字列を渡すと、出力には文字列の各文字のインデックスと値が表示されます。
例:
my_str = "Guru99 " for i in enumerate(my_str): print(i)
出力:
(0, 'G') (1, 'u') (2, 'r') (3, 'u') (4, '9') (5, '9')
辞書を列挙する
Python では、辞書は中括弧内にリストされ、これらの中括弧内で値が宣言されます。
各要素はキーと値のペアで、コンマで区切られています。 enumerate() 内で辞書を使用して、出力を確認できます。
my_dict = {"a": "PHP", "b":"JAVA", "c":"PYTHON", "d":"NODEJS"} for i in enumerate(my_dict): print(i)
出力:
(0, 'a') (1, 'b') (2, 'c') (3, 'd')
列挙を使用する利点
Python で Enumerate を使用することの長所/利点は次のとおりです:
- 列挙を使用すると、リスト、タプル、辞書、文字列をループして、インデックスと共に値を取得できます。
- for ループを使用してインデックス値を取得するには、list.index(n) を利用できます。ただし、list.index(n) は for ループを 2 回トラバースするため、非常にコストがかかります。このような場合、列挙はインデックスとアイテムを一度に提供するので非常に便利です。
まとめ
- Enumerate() 関数は、Python で使用できる組み込み関数です。 Enumerate() 関数は、反復可能なオブジェクトの各項目にカウンターを追加し、列挙オブジェクトを返します。
- Python の列挙では、startIndex、つまり値を開始するカウンターを指定できます。
- 列挙を使用して、リスト、タプル、辞書、および文字列をループできます。
- 列挙型は、リスト、タプル、辞書などをループするときにインデックスと値が必要な場合に非常に役立ちます。
- 列挙には、リストに存在する各項目への自動カウンター/インデックスが付属しています。最初のインデックス値は 0 から始まります。enumerate でオプションのパラメータ startIndex を使用して startindex を指定することもできます。
- enumerate() に文字列を渡すと、出力には文字列の各文字のインデックスと値が表示されます。
Python