Python入門5
入門編の第5回目となります。
Aidemyさんの講座を受講しながらアウトプットのためにブログを更新しております。
AidemyさんHP → https:// aidemy.net
今回は『for』を説明していきます。
for 文は決められた回数だけ、処理を繰り返し実行します
for文を使えば、1から100までの数字を順番に出力したり、配列の要素を順番に取り出したりすることができます。
取り出すものとしては、文字列やリスト、タプル、辞書、セットなどのイテラブル(=要素を一つずつ取り出すことができるオブジェクト)などの要素です。
書き方は「 for 変数 in リスト: 」となります。
⭐︎基本文
animals = ["tiger", "dog", "elephant"]
for animal in animals: #animalsに含まれる要素を繰り返す
print(animal) #animalsの要素を出力
>>> 出力結果
tiger
dog
elephant
⭐︎繰り返しを終了:break
#変数nの値が4の時に処理を終了
storages = [1, 2, 3, 4, 5, 6]
for n in storages: #1,2,3,4,5,6を順に出力するように設定
print(n) #出力処理
if n == 4: #変数nの値が4の時に処理を終了させてください
print("nが4になったので処理を終了します")
break
>>> 出力結果
1
2
3
4
nが4になったので処理を終了します
⭐︎項目をスキップ:continue
storages = [1, 2, 3, 4, 5, 6]
for n in storages: #storagesに含まれる要素を繰り返す
if n < 3: #nが3より小さい場合、処理を行わない(ループの先頭に戻る)
#1と2の時はif文がtrueとして扱われるためスキップ実行(除外)
continue
print(n) #1と2を除く3以降を出力する
>>> 出力結果 #1と2がスキップされ、3からスタート
3
4
5
6
⭐︎指定した引数まで生成:range
for文にrange関数を組み合わせ、引数に指定した数までの連続した数値を生成することができます。
for num in range(3): #0」「1」「2」と連続で出力させるプログラム
print(num)
>>> 出力結果
0
1
2
「for 変数 in range(n):」と記述すると、変数に「0からn-1までの数値」を順番に格納することができます。
for num in range(5, 10): #5~9(n-1だから)出力させるプログラム
print(num)
>>> 出力結果
5
6
7
8
9
「range(m, n)」と引数を2つ指定してrange関数を使用すれば、変数に「mからn-1までの数値」を順番に格納することができます。
for num in range(0, 10, 2): #0〜9までの数値を+2しながら出力
print(num)
>>> 出力結果
0
2
4
6
8
「range(m, n, d)」と引数を3つ指定してrange関数を使用すれば、「mからn-1までの数値を+dしながら」順番に格納することができます。
for num in range(10, 0, -1): #0〜9までの数値を逆順で出力
print(num)
>>> 出力結果
10
9
8
7
6
5
4
3
2
1
第3引数に負の数を指定することで、数値を逆順に格納することもできました。
⭐︎インデックスを表示:enumerate
for文の中で、リストの値だけでなくインデックスも同時に取得したいケースで使われる関数が、enumerate()です。
要素が配列の何番目に入っているか知るときにも使えます
num = [‘太郎’,’花子’,’二郎’]
for index in enumerate(num):
print(index)
>>> 出力結果
(0, ‘太郎’)
(1, ‘花子’)
(2, ‘二郎’)
print内で追記すれば表示の仕方も変えることができます。
animals = ["tiger", "dog", "elephant"]
# enumerate()を用いて出力してください
for index, animal in enumerate(animals):
print("index:" + str(index), animal)
>>> 出力結果
index:0 tiger
index:1 dog
index:2 elephant
【リストinリストのループ】
リストの構成を利用し、法則性を作って要素を出力できます。
例文
list_ = [[1, 2, 3], [4, 5, 6]]
for a, b, c in list_:
print(a, b, c)
>>> 出力結果
1 2 3
4 5 6
具体的に法則を入れて見ます
fruits = [["strawberry", "red"],
["peach", "pink"],
["banana", "yellow"]]
#for文を用いて出力してください
for fruit, color in fruits:
print(fruit + " is "+ color)
#for後のfruitとして"strawberry"、"peach"、"banana"
#for後のcolorとして"red"、"pink"、"yellow"
>>> 出力結果
strawberry is red
peach is pink
banana is yellow
【辞書型のループ】
リスト型だけでなく、辞書型でも、items()というメソッドを使うことで、キーとバリューの両方を変数に格納することができます。
fruits = {"strawberry": "red", "peach": "pink", "banana": "yellow"}
for fruit, color in fruits.items():
# keyはfruitという変数に、valueはcolorという変数に格納されています
print(fruit+" is "+color)
>>> 出力結果
strawberry is red
peach is pink
banana is yellow
今回は以上とさせていただきます。
お読みいただき、ありがとうございました。
この記事が気に入ったらサポートをしてみませんか?