Python enumerate() 関数
説明
enumerate() 関数は、走査可能なデータオブジェクト(リスト、タプル、文字列など)をインデックスシーケンスに結合し、データとデータのインデックスを同時に列挙します。通常は for ループで使用されます。
Python 2.3 以降で使用可能です。2.6 で start パラメータが追加されました。
構文
以下は enumerate() メソッドの構文です:
enumerate(sequence, [start=0])
パラメータ
- sequence -- シーケンス、イテレータ、またはその他の反復可能なオブジェクト。
- start -- インデックスの開始位置の値。
戻り値
enumerate(列挙)オブジェクトを返します。
例
以下に enumerate() メソッドを使用した例を示します:
>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, start=1)) # インデックスは 1 から始まる
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, start=1)) # インデックスは 1 から始まる
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
通常の for ループ
>>> i = 0
>>> seq = ['one', 'two', 'three']
>>> for element in seq:
... print i, seq[i]
... i += 1
...
0 one
1 two
2 three
>>> seq = ['one', 'two', 'three']
>>> for element in seq:
... print i, seq[i]
... i += 1
...
0 one
1 two
2 three
enumerate を使用した for ループ
>>> seq = ['one', 'two', 'three']
>>> for i, element in enumerate(seq):
... print i, element
...
0 one
1 two
2 three
>>> for i, element in enumerate(seq):
... print i, element
...
0 one
1 two
2 three
Python 組み込み関数