If文ってどうやって使うの?
この記事では、for文の使い方について詳しく説明します。
for文の基本的な構文や書き方、さまざまな条件式の使い方など、役立つ情報を提供します。
また、for文の応用例や実際のプログラムでの使用例も紹介します。
この記事を読むことで、Pythonのif文をマスターできます!
Python for文の概要
for文は、指定された回数だけブロック(インデントされている文)内の処理を繰り返すための制御構造です。
Pythonのfor文は、他のプログラミング言語と比べてシンプルな構文を持っており初心者にとっても理解しやすい特徴があります。
for文の公式は以下の通りです。
for 変数 in リストや一部関数:
実行文
#↑インデント(スペース4つ)
forの後に:(コロン)を付けよう。
for文の様々な使われ方の例を見ていきましょう。
使い方と使用例
リストでの使用
リストはfor文を使って効率的に反復処理することができます。
例
numbers = ['0', '1', '2', '3', '4', '5']
for number in numbers:
print(number)
#0
#1
#2
#3
#4
#5
numberにnumbersの各要素がひとつづつ代入され、その下のインデントされたprint関数が実行されます。
タプルでの使用
タプルも同様です。
例
numbers = ('0', '1', '2', '3', '4', '5')
for number in numbers:
print(number)
#0
#1
#2
#3
#4
#5
リストのスライスでの使用
スライス[start:stop:step]を活用することでループの範囲を指定することが出来ます。
startは0から始まることと、stopの値は含まれないことに注意してください。
stepは省略できます。
例
numbers = ['0', '1', '2', '3', '4', '5']
for number in numbers[2:5]:
print(number)
#2
#3
#4
startやstepの省略もできます。
例
numbers = ['0', '1', '2', '3', '4', '5']
for number in numbers[::2]:
print(number)
#0
#2
#4
stepの逆順もできます。
例
numbers = ['0', '1', '2', '3', '4', '5']
for number in numbers[5::-2]:
print(number)
#5
#3
#1
breakの使用法
breakは、for文の実行を途中で終了させるための文です。breakに到達するとそこでループが停止します。
例2
numbers = ['0', '1', '2', '3', '4', '5']
for number in numbers:
if number == '3':
print('break!')
break
print(number)
#0
#1
#2
#break!
continueの使用法
continueは、for文の実行をスキップして次の繰り返し処理に進むものです。breakではループが完全に停止しますが、continueではその要素だけがスキップされて次の要素が処理されます。
例3
numbers = ['0', '1', '2', '3', '4', '5']
for number in numbers:
if number == '3':
print('continue!')
continue
print(number)
#0
#1
#2
#continue!
#4
#5
elseの使用法
elseはforが終わりまで実行され終了したときに実行されます。
例4.1
numbers = ['0', '1', '2', '3', '4', '5']
for number in numbers:
print(number)
else:
print('finished!')
#0
#1
#2
#3
#4
#5
#finished!
例4.2
よってbreakが途中に入るとelse節は実行されません。
numbers = ['0', '1', '2', '3', '4', '5']
for number in numbers:
if number == '3':
print('break!')
break
print(number)
else:
print('finished!')
#0
#1
#2
#break!
例4.3
continueでは最後まで処理されているのでelse節が実行されます。
numbers = ['0', '1', '2', '3', '4', '5']
for number in numbers:
if number == '3':
print('continue!')
continue
print(number)
else:
print('finished!')
#0
#1
#2
#continue!
#4
#5
#finished!
range関数の使用法
range関数は、指定された範囲の数値を生成するための関数でありfor文ではカウンタとして使用できます。
例
for i in range(4):
print(i)
#0
#1
#2
#3
range関数についてより深く知りたい場合は下からどうぞ!
例
for i in range(2,10,3):
print(i)
#2
#5
#8
enumerate関数の使用法
カウンタと要素を同時に取得するにはenumerateを使うと便利です。
例
vegetables = ['たまねぎ','にんじん','じゃがいも','はくさい']
for i, vegetable in enumerate(vegetables):
print(i, vegetable)
#0 たまねぎ
#1 にんじん
#2 じゃがいも
#3 はくさい
例
forの後の変数が一つならばタプルとして出力されます。
vegetables = ['たまねぎ','にんじん','じゃがいも','はくさい']
for vegetable in enumerate(vegetables):
print(vegetable)
print(type(vegetable))
#(0, 'たまねぎ')
#(1, 'にんじん')
#(2, 'じゃがいも')
#(3, 'はくさい')
#<class 'tuple'>
enumerateの第二引数に開始値を指定できます。
例
vegetables = ['たまねぎ','にんじん','じゃがいも','はくさい']
for i, vegetable in enumerate(vegetables,12):
print(i, vegetable)
#12 たまねぎ
#13 にんじん
#14 じゃがいも
#15 はくさい
enumerateにstepを指定することはできませんが、以下のようにすれば実現できます。
例
step = 2
start = 12
vegetables = ['たまねぎ','にんじん','じゃがいも','はくさい']
for i, vegetable in enumerate(vegetables,0):
print(i * step + start, vegetable)
#12 たまねぎ
#14 にんじん
#16 じゃがいも
#18 はくさい
zip関数の使用法
二つ以上の要素を同時に取得する際にはzipが便利です。
例
values = [120, 100, 140, 300]
vegetables = ['たまねぎ', 'にんじん', 'じゃがいも', 'はくさい']
for value, vegetable in zip(values, vegetables):
print(value, vegetable)
#120 たまねぎ
#100 にんじん
#140 じゃがいも
#300 はくさい
例
values = [120, 100, 140, 300]
vegetables = ['たまねぎ', 'にんじん', 'じゃがいも', 'はくさい']
colours = ['brown', 'orange', 'brown', 'white']
for value, vegetable, colour in zip(values, vegetables, colours):
print(value, vegetable, colour)
#120 たまねぎ brown
#100 にんじん orange
#140 じゃがいも brown
#300 はくさい white
reversed関数の使用法
要素を逆順で取得する際はreversedを使うと便利です。
vegetables = ['たまねぎ','にんじん','じゃがいも','はくさい']
for vegetable in reversed(vegetables):
print(vegetable)
#はくさい
#じゃがいも
#にんじん
#たまねぎ
辞書(dict)の使用
辞書(dict)の要素をforループするとkeyが取得されます。
例
d = {'key_a': 1, 'key_b': 2, 'key_c': 3, 'key_d': 4}
for key in d:
print(key)
#key_a
#key_b
#key_c
#key_d
値を取得したい場合はvaluesメソッドを使用すると取得できます。
例
d = {'key_a': 1, 'key_b': 2, 'key_c': 3, 'key_d': 4}
for v in d.values():
print(v)
#1
#2
#3
#4
forループのネストでの使用
forループをforループに入れ込むことを「ネスト」といいます。
例
for i in range(10)
for j in range(10)
print(i * 10 + j)
#0
#1
#2
#3
#4
#…
#98
#99
リスト内包表記とfor文
リスト内包表記は、リストを効率的に生成するための記法でありfor文と組み合わせることで簡潔なコードを記述することができます。
リスト内包表記の公式は以下の通りです。
[式 for 変数名 in リストや一部関数]
同じ意味を持つfor文と共に例を示します。
例
#for文
double = []
for i in range(6):
double.append(i * 2)
print(double)
#リスト内包表記
double = [i*2 for i in range(6)]
print(double)
#[0, 2, 4, 6, 8, 10]
とても簡潔に書くことができましたね。
まとめ
本記事ではPythonで重要な文法であるfor文について解説しました。
効果的にfor文を活用することでPythonのプログラミングの幅が広がります。
本気でプログラミング学習をしたいという人はプログラミングスクールに通って学習をすることをおススメします。
また、プログラミングを記述するための最強コードエディタのVSCodeについてはこちらからどうぞ!