Python for ループ
Python for ループ
この記事では、さまざまなバリエーションの for ループを使用して一連の要素を反復処理する方法を学習します。
ビデオ:Python for Loop
Python の for ループとは?
Python の for ループは、シーケンス (リスト、タプル、文字列) またはその他の反復可能なオブジェクトを反復処理するために使用されます。シーケンスを反復することをトラバーサルと呼びます。
for ループの構文
for val in sequence:
loop body
ここで、val
各反復でシーケンス内のアイテムの値を取る変数です。
ループは、シーケンスの最後の項目に到達するまで続きます。 for ループの本体は、インデントを使用して残りのコードから分離されています。
for ループのフローチャート
<図>例:Python for Loop
# Program to find the sum of all numbers stored in a list
# List of numbers
numbers = [6, 5, 3, 8, 4, 2, 5, 4, 11]
# variable to store the sum
sum = 0
# iterate over the list
for val in numbers:
sum = sum+val
print("The sum is", sum)
プログラムを実行すると、出力は次のようになります:
The sum is 48
range() 関数
range()
を使用して一連の数字を生成できます 関数。 range(10)
0 から 9 までの数字 (10 個の数字) を生成します。
開始、停止、およびステップ サイズを range(start, stop,step_size)
として定義することもできます。 . step_size が指定されていない場合、デフォルトは 1 です。
range
オブジェクトは、作成時に「含まれる」すべての数値を生成するわけではないため、ある意味で「怠惰」です。ただし、in
をサポートしているため、イテレータではありません。 、 len
と __getitem__
この関数はすべての値をメモリに格納するわけではありません。それは非効率的です。そのため、開始、停止、ステップ サイズを記憶し、外出先で次の番号を生成します。
この関数にすべての項目を強制的に出力させるには、関数 list()
を使用できます。 .
次の例でこれを明確にします。
print(range(10))
print(list(range(10)))
print(list(range(2, 8)))
print(list(range(2, 20, 3)))
出力
range(0, 10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] [2, 3, 4, 5, 6, 7] [2, 5, 8, 11, 14, 17]
range()
を使用できます for
の関数 ループして一連の数値を反復処理します。 len()
と組み合わせることができます インデックスを使用してシーケンスを反復処理する関数。以下に例を示します。
# Program to iterate through a list using indexing
genre = ['pop', 'rock', 'jazz']
# iterate over the list using index
for i in range(len(genre)):
print("I like", genre[i])
出力
I like pop I like rock I like jazz
else を使用した for ループ
for
ループにはオプションの else
を含めることができます ブロックも。 else
for ループで使用されるシーケンス内の項目が使い果たされた場合、部分が実行されます。
break キーワードを使用して、for ループを停止できます。そのような場合、else 部分は無視されます。
したがって、ブレークが発生しない場合、for ループの else 部分が実行されます。
これを説明する例を次に示します。
digits = [0, 1, 5]
for i in digits:
print(i)
else:
print("No items left.")
プログラムを実行すると、出力は次のようになります:
0 1 5 No items left.
ここで、 for ループは、ループが尽きるまでリストの項目を出力します。 for ループが使い果たされると、else
内のコード ブロックが実行されます。
No items left.
を出力します。
この for...else
ステートメントは break
で使用できます else
を実行するためのキーワード break
の場合のみブロック キーワードは実行されませんでした。例を見てみましょう:
# program to display student's marks from record
student_name = 'Soyuj'
marks = {'James': 90, 'Jules': 55, 'Arthur': 77}
for student in marks:
if student == student_name:
print(marks[student])
break
else:
print('No entry with that name found.')
出力
No entry with that name found.
Python