チャポケのブログ

勉強したことをまとめておく。

Python for文でのループ処理

forループの基本形

pythonで、forループの基本形は、次のようになっている。

for 変数名 in データ配列:
  繰り返し処理

range型のループ処理

ループ処理は、range型と組み合わせてよく使う。

aaa = ""
for i in range(3):
    aaa += str(i) + " "
print(aaa)
# 0 1 2 

aaa = ""
for i in range(3, 7):
    aaa += str(i) + " "
print(aaa)
# 3 4 5 6 

aaa = ""
for i in range(1, 10, 2):
    aaa += str(i) + " "
print(aaa)
# 1 3 5 7 9 

aaa = ""
for i in range(10, 0, -4):
    aaa += str(i) + " "
print(aaa)
# 10 6 2 

list型のループ処理

aaa = ""
for i in ["白", "發", "中"]:
    aaa += str(i) + " "
print(aaa)
# 白 發 中 

tuple型のループ処理

aaa = ""
for i in ("東","南","西", "北"):
    aaa += str(i) + " "
print(aaa)
# 東 南 西 北 

辞書型のループ処理

辞書からキーを取り出す方法
辞書からキーと値を同時に取り出す方法がある。

suuhai = {"m":"萬子", "p":"筒子", "s":"索子"}

aaa = ""
bbb = ""
for key in suuhai:
    aaa += key + " "
    bbb += suuhai[key] + " "
print(aaa)
print(bbb)
# m p s 
# 萬子 筒子 索子 

aaa = ""
bbb = ""
for (key, val) in suuhai.items():
    aaa += key + " "
    bbb += val + " "
print(aaa)
print(bbb)
# m p s 
# 萬子 筒子 索子 

enumerate()関数

配列indexと配列要素を同時に取り出す。

sangenpais = ["白", "發", "中"]
for (i, hai) in enumerate(sangenpais):
    print(str(i) + " - " + hai)
# 0 - 白
# 1 - 發
# 2 - 中

zip()関数

複数の配列をまとめて、ループ処理で使う。

hougakus = ["E", "S", "E", "N"]
fuuhais = ["東","南","西", "北"]
yobikatas = ["トン", "ナン", "シャー", "ペイ"]

for hougaku, fuuhai, yobikata in zip(hougakus, fuuhais, yobikatas):
    print(hougaku + " - " + fuuhai + " - " + yobikata)
# E - 東 - トン
# S - 南 - ナン
# E - 西 - シャー
# N - 北 - ペイ

enumerate()関数とzip()関数を同時に使う

hougakus = ["E", "S", "E", "N"]
fuuhais = ["東","南","西", "北"]
yobikatas = ["トン", "ナン", "シャー", "ペイ"]

for i, (hougaku, fuuhai, yobikata) in enumerate(zip(hougakus, fuuhais, yobikatas)):
    print(str(i) + " - " + hougaku + " - " + fuuhai + " - " + yobikata)
# 0 - E - 東 - トン
# 1 - S - 南 - ナン
# 2 - E - 西 - シャー
# 3 - N - 北 - ペイ