for文で使える関数
Python では繰り返し処理を行うために for 文が使用されます。
回数を指定して繰り返すなどの処理を行いたい場合には range 関数と組み合わせる。
range()関数
0から始まり、1(デフォルト)で増減する一連の数値を返し、指定した数値の前で停止します。
range(開始, 終了, ステップ)
使い方 | 説明 |
---|---|
開始 | 開始位置を指定する整数。デフォルトは0です。 |
終了 | 終了後位置を指定する整数。 |
ステップ | インクリメント、デクリメントを指定する整数。デフォルトは1である。 |
開始 開始位置を指定する整数。デフォルトは0です。
終了 終了後位置を指定する整数。
ステップ インクリメント、デクリメントを指定する整数。デフォルトは1である。
range(開始, 終了, ステップ)
for f in renge(5)
※この場合は、開始=「デフォルトの0」ステップ=「デフォルトの1」が適用される。
print (f, end = ‘ ’)
01234
「終了」に指定した値は含まれないので4が返される。仮に5まで取得可能したい場合は、6を指定すればいいです。
range(1, 5, 2)
※この場合は1から4まで2づつ増える
range(10, 5, -2)
※この場合は10から6まで2づつ減る
print(list(range(3)))
この形にすると、リスト型で取得することができるらしいです。
ループカウンタ
恥ずかしながら、ループカウンタの意味を知らなかったので調べてきました。
ループを制御する変数で、繰り返し処理の終了条件が処理回数の場合に使用して、処理を1回行うたびに、ループカウンターを1加算し、何回処理が行われたかをカウントして制御する。
上記の意味をループカウンタと言うそうです。
Python、でループカウンタを使用したい場合はenumerate()関数を使用する。
enumerate()
l = [‘kokugo’, ‘suugaku’, ‘eigo’]
for i, subject in enumerate(l):
print(i, subject)
0 kokugo
1 suugaku
2 eigo
※enumerate()の第2引数を指定しない場合は0からになる
以下のように、第2引数を指定した場合は、指定した数値からループカウンタが返される。
l = [‘kokugo’, ‘suugaku’, ‘eigo’]
for i, subject in enumerate(l, 11):
print(i, subject)
11 kokugo
12 suugaku
13 eigo
zip()
ループカウンタはzip()関数を使用して定義することも可能です
for i , w in zip(['kokugo', 'suugaku', 'eigo'], [78, 82, 54]):
print(subject, number)
kokugo 78
suugaku 82
eigo 54
以下のように、ループ内容を変数で定義することも可能です
subject = ['kokugo', 'suugaku', 'eigo']
number = [78, 82, 54]
for i , w in zip(subject, number):
print(subject, number)
kokugo 78
suugaku 82
eigo 54