enumerate 関数は、シーケンス内の要素とその添字を反復処理するために使用されます。
関数プロトタイプ: enumerate(sequence, [start=0])
関数: startでループ可能なシーケンスシーケンスを開始し、それぞれシーケンスデータとデータ添字をリストします
つまり、走査可能なデータの場合enumerate は、オブジェクト (リスト、タプル、文字列など) を結合してインデックス シーケンスを作成し、データとデータ添字を同時にリストします。
シーケンスがあり、それに enumerate を使用すると、次の結果が得られます:
start sequence[0]
start+1 sequence[1]
start+2 sequence[2]... ..
Python2.3+
Python2.x
注: start パラメータは python2.6 以降に追加されました
列挙オブジェクトを返す必要があります。シーケンス、イテレータ、または反復をサポートするその他のオブジェクト。 enumerate() によって返されるイテレータの next() メソッドは、カウント (デフォルトは 0) と反復から取得した値を含むタプルを返します。順序。
列挙パラメータは文字列、リストなどの走査可能な変数であり、戻り値は列挙クラスです。
import string s = string.ascii_lowercase e = enumerate(s) print s print list(e)
出力は次のとおりです:
abcdefghij [(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (4, 'e'), (5, 'f'), (6, 'g'), (7, 'h'), (8, 'i'), (9, 'j')]
インデックス値と値の両方が必要な場合は、enumerate を使用できます。
この例では、 line は 0 と 1 を含む文字列です。すべての 1 を検索します:
def xread_line(line): return((idx,int(val)) for idx, val in enumerate(line) if val != '0') print read_line('0001110101') print list(xread_line('0001110101'))
以上がPython関数enumerateの使い方の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。