ホームページ  >  記事  >  バックエンド開発  >  Python関数enumerateの使い方の紹介

Python関数enumerateの使い方の紹介

巴扎黑
巴扎黑オリジナル
2017-08-17 10:38:072330ブラウズ

enumerate 関数は、シーケンス内の要素とその添字を反復処理するために使用されます。

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。