ここで学習すること
繰り返しの処理が可能なfor文を用いて、複数の値を持つリスト型や辞書型のデータの扱い方を学習します。
for文を使えば、リスト型や辞書型などの複数のデータを持つ変数から要素1つずつ取り出すことができます。
プログラムの書き方
for 取出した要素を代入する変数名 in 取出す変数:
_ _ _ _行いたい処理
for文の後にはコロン:が必要です。for分の処理はインデント(4マス空ける)で指示します。
リスト型から要素を取り出す
num = [0, 1, 2]
変数nにリスト型変数numから取り出した要素を代入します。
for n in num:
_ _ _ _print(num)
=>
0
1
2
辞書型から要素を取り出す
mobile = {‘KDDI’: ‘au’, ‘NTT’: ‘docomo’, ‘Yahoo’: ‘softbank’}
変数brandに辞書型変数mobileから取り出した要素を代入します。
for brand in mobile :
_ _ _ _ print(brand)
=>
KDDI
NTT
Yahoo
辞書型から要素をfor分で取り出すとkeyが取得されます。
以下では取得されたkeyを用いてmobileからvalueを取り出します。
mobile = {‘KDDI’: ‘au’, ‘NTT’: ‘docomo’, ‘Yahoo’: ‘softbank’}
for brand in mobile :
変数brandに取得したkeyを指定して変数mobileからvalueを取り出します
_ _ _ _ print(brand + ‘ ‘ + ‘mobile[brand])
=>
KDDI au
NTT docomo
Yahoo softbank
for文の処理を中断する
breakでfor文を終了する
num = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for n in num:
_ _ _ _print(n) #ここまでだと9回printが実行される
if n > =3: #nが3以上で終了する
_ _ _ _break #終了させる
=>
1
2
3
range()を用いてfor文を終了する
num = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for num in range(5):
_ _ _ _ print(num)
=>
0
1
2
3
4
range()を用いて変数を取り出す場合、list型のindexを取り出すのと同様に0始まりとなります
for文に連番以外を設定する
num = [1, 2, 3, 4, 5, 6, 7, 8, 9]
range(2, 10, 2)で2番目から9番目(10の1つ前)までの値を2つずつ(1ヶとばし)加算します
for num in range(2, 10, 2): # (最初の値, 最後の値+1, 足す値)
_ _ _ _print(num)
=>
2
4
6
8
list in listからfor文で値を取り出す
list型で取り出す場合
num = [[1, 2, 3, 4], [5, 6, 7, 8]]
for n in num:
_ _ _ _print(n)
=>
[1, 2, 3, 4]
[5, 6, 7, 8]
それぞれ値として取り出す場合
num = [[1, 2, 3, 4], [5, 6, 7, 8]]
for a, b, c, d in num:
_ _ _ _print(a, b, c, d)
1 2 3 4
5 6 7 8
この場合、listの要素数と同じ変数を用意する必要があります。 変数を(a, b, c, d)の4つ用意しています。
また、listの要素数が同じの時のみ使用可能な方法です。 [[1, 2, 3, 4], [5, 6, 7, 8]]…どちらも要素数が4つです。