0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

for文で使える関数

Posted at

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

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?