Python 3 – 説明を列挙する(例を含む)-Pythonチュートリアル

Python

目次

enumerate()関数は、列挙オブジェクトを返す組み込み関数です。 これにより、リストを反復処理しながら要素のインデックスを取得できます。

他のプログラミング言語(C)では、多くの場合、forループを使用してインデックスを取得します。ここで、配列の長さを使用し、それを使用してインデックスを取得します。 これはPythonicではなく、代わりにenumerate()を使用する必要があります。

Pythonでは、インデックスと値をすぐに取得しながら、リストを反復処理できます。

関連コース: 完全なPythonプログラミングコースと演習

オブジェクトを列挙する

基本的な構文は次のとおりです enumerate(sequence、start = 0)

出力オブジェクトには、次のようなカウンターが含まれます。 (0、事[0])、(1、事[1])、(2、事[2])、

入力として、リスト、タプル、イテレータなどのシーケンスを取ります。 startパラメーターはオプションです。
開始パラメーターが1に設定されている場合、カウントはゼロではなく1から開始されます

シーケンスを作成し、それを列挙関数にフィードします。 これは任意のタイプのシーケンスにすることができます。この例ではリストを使用します。 次に、オブジェクトを出力します。

以下のプログラムをお試しください。

1
2
3
4
5
6

browsers = ['Chrome','Firefox','Opera','Vivaldi']


x = list(enumerate(browsers))
print(x)

次の出力が表示されます。

列挙する

返されたオブジェクトはイテレータのように扱うことができます。次のメソッド呼び出しが機能します。

1
2
3
4
5
6
7
browsers = ['Chrome','Firefox','Opera','Vivaldi']
eObj = enumerate(browsers)

x = next(eObj)
print(x)
x = next(eObj)
print(x)

リストを列挙する

Pythonリストを列挙する方法を見てみましょう。 Pythonシェルを開いて試してみることができます。

を使用してPythonリストを反復処理できます enumerate()。 簡単な例でそれを見てみましょう。

1
2
3
4
5
6
7
8
>>> fruits = [ "Apple","Berry","Cherry" ]
>>> for i,j in enumerate(fruits):
... print(i,j)
...
0 Apple
1 Berry
2 Cherry
>>>

インデックス(i)と値(j)の両方を出力します。

簡単でした!

タプルを列挙する

タプルを列挙する方法を見てみましょう。

Pythonタプルを列挙できます。これは、リストを反復処理するのと大差ありません。
以下のコードは、タプルを反復処理する方法を示しています。

1
2
3
4
5
6
7
8
>>> fruits = [(15,"Fifteen"), (12,"Twelve"), (19,"Nineteen")]
>>> for i,j in enumerate(fruits):
... print(i,j)
...
0 (15, 'Fifteen')
1 (12, 'Twelve')
2 (19, 'Nineteen')
>>>

予想どおり、インデックスと値の両方が出力されます。ここで、値はタプル全体です。

代わりに、よりクリーンな出力が必要な場合は、 タプルの開梱

タプルのアンパック(およびf文字列のフォーマット)を使用すると、次のようなクリーンな出力が得られます。

1
2
3
4
5
6
7
8
>> fruits = [(15,"Apple"), (12,"Berry"), (19,"Cherry")]
>>> for i,(price,name) in enumerate(fruits):
... print(f"index {i}, price {price} and name {name}")
...
index 0, price 15 and name Apple
index 1, price 12 and name Berry
index 2, price 19 and name Cherry
>>>

文字列を列挙する

文字列オブジェクトを反復処理できますか?

はい、できます。文字列内のすべての項目は文字です。 これにより、文字列内のすべての文字の文字インデックスと文字値が得られます。

文字列がある場合は、次のように繰り返すことができます。 列挙(文字列)
以下の例は、その方法を示しています。

1
2
3
4
5
6
7
8
9
10
>>> fruit = "Apple"
>>> for i,j in enumerate(fruit):
... print(i,j)
...
0 A
1 p
2 p
3 l
4 e
>>>

上記のコード出力は、文字列のすべての要素のインデックスと値の両方を示しています。

別の開始インデックスで列挙する

ザ・ enumerate() 関数には、開始インデックスという別のパラメーターがあります。 デフォルトでは、指標はゼロから始まります。

これを変更できます。たとえば、2番目のパラメーターから始めたいとします。

コードは次のようになります。

1
2
3
4
5
6
7
8
9
10
>>> fruit = "Apple"
>>> for i,j in enumerate(fruit, start=2):
... print(i,j)
...
2 A
3 p
4 p
5 l
6 e
>>>

ディクトナリーを列挙する

辞書に列挙するのは意味がありません。 辞書はシーケンスではありません
辞書には索引がなく、常に同じ順序であるとは限りません。

辞書を繰り返し処理する場合は、列挙する必要はありませんが、従来の方法を使用します。

1
2
3
4
5
6
7
8
>>> d = {'a':1, 'b':2, 'c':3}
>>> for k,v in d.items():
... print(k,v)
...
a 1
b 2
c 3
>>>

初心者の方は、 それなら私はこの本を強くお勧めします。

運動

以下の演習を試してください

  1. forループを列挙可能なものと組み合わせます。

例をダウンロード

Hope this helps!

Source link

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です