python3 for文

for文の使用例について説明します。

for _ in range(~)

for文は「for 変数 in ~」という形式ですが、変数部を処理に使用しない時は、変数部を慣例的に「_」とします。また、下記が参考になります。
(4) What does ‘_’ in Python mean in a for-loop? – Quora

#_は変数として使用出来ます。しかし、for文で使用する_の用途はただの変数ではありません。
_ = 1
print(_)

#下記の様に、「for 変数 in ~」の変数部を処理に使用しない時は変数部を「_」とします。
#慣例的に、変数部を処理に使用しないことを示すために「_」を使用します。
for _ in range(3):
    print("world")

#一方、変数部を処理に使用するときは、下記の様に「_」以外(ここではi)を使用します。
l = ["a", "b", "c"]
for i in range(3):
    print(l[i])

"""
下記、出力です。
1
world
world
world
a
b
c
"""

enumerate関数

enumerate関数はfor文と一緒に使用することで、要素とカウント(各要素のオブジェクト上の位置等を表します)を取得することが出来ます。
用途は、for文の中で特定のカウントを持つ要素に対して処理を行うことです。
・出席番号(カウント)が2番以上の人の平均の身長を求める。
・リストについて、インデックス(カウント)が偶数の要素の値の合計を求める。
 等々

書式は下記です。
 for カウント、要素 in enumerate(iterableオブジェクト)

下記は、enumerate関数の使用例です。

"""==========================================================
= 出席番号(カウント)が2番以上の人の平均の身長を求める。         =
=========================================================="""
#左から出席番号が1, 2, 3番目の人の身長
height = [160, 170, 180]

sum = 0
#出席番号は1開始なのでカウントの開始を1としています(start=1)。
for count, item in enumerate(height, start=1):
    #出席番号が2以上の人の身長の合計を求めます。
    if(count >= 2):
        sum += height[count - 1]
print(sum / 2)

また、カウントの開始を変更することが出来ます。

#カウント(count)の開始が0の場合
l = [5, 6, 7]
for count, item in enumerate(l):
    print(count, item)
"""
出力は下記です。
0 5
1 6
2 7
"""

#カウント(count)の開始が1の場合
#star = 1によりcountの開始を1にしています。
for count, item in enumerate(l, start=1):
    print(count, item)
"""
出力は下記です。
1 5
2 6
3 7
"""

コメント

タイトルとURLをコピーしました