Pythonのfor文のいろいろな書き方

for文の実装方法はいろいろあります。
プログラムの意図に沿ったものを使いましょう。

rangeを使ったfor文

数値のfor文はrangeを使いましょう。
少数で回したい場合はnumpy.arangeを使いましょう

for i in range(3):
    print(i)

# 0
# 1
# 2

for i in range(3, 0, -1):
    print(i)

# 3
# 2
# 1
# 降順で処理することも可能。

rangeの参考記事もご覧ください。

Pythonのrange関数で等間隔の値を生成する Pythonのrange関数で等間隔の値を生成する

numpy.arangeを使ったfor文

numpy.arangeは、整数と少数のfor文に便利です。

ただし、浮動小数点の誤差問題があるので、round関数を併用しましょう。

誤差問題の詳細を知りたい方は「python 浮動小数点 問題」などで検索してみてください。

少数のfor文のサンプルコードです。

for i in np.arange(0, 1, 0.2):
    print(i)

# 0.0
# 0.2
# 0.4
# 0.6000000000000001
# 0.8
# そのままだと、浮動小数点の誤差問題が発生する。

for i in np.arange(0, 1, 0.2):
    print(round(i, 8))

# 0.0
# 0.2
# 0.4
# 0.6
# 0.8
# roundで浮動小数点の誤差問題を回避する。

for i in np.arange(1, 0, -0.2):
    print(i)

# 1.0
# 0.8
# 0.6000000000000001
# 0.40000000000000013
# 0.20000000000000018

for i in np.arange(1, 0, -0.2):
    print(round(i, 8))

# 1.0
# 0.8
# 0.6
# 0.4
# 0.2

numpy.arangeの参考記事もご覧ください。

NumPyのarangeとlinspaceで等間隔の値を生成する NumPyのarangeとlinspaceで等間隔の値を生成する

listを使ったfor文

listのfor文の書き方です。
enumerateを併用すると便利です。

l = ['aaa', 'bbb', 'ccc']
for v in l:
    print(v)

# aaa
# bbb
# ccc

l = ['aaa', 'bbb', 'ccc']
for i, v in enumerate(l):
    print(f'i:{i} v:{v}')

# i:0 v:aaa
# i:1 v:bbb
# i:2 v:ccc
Pythonのenumerateでfor文をすこし便利にする Pythonのenumerateでfor文をすこし便利にする

dictionaryを使ったfor文

辞書型を使ったfor文です。
辞書型でもenumerateは使用できます。

d = {'aaa': 1, 'bbb': 2, 'ccc': 3}
for k in d:
    print(f'key:{k} value:{d[k]}')

# key:aaa value:1
# key:bbb value:2
# key:ccc value:3
# そのままだとキーのfor文となる。

d = {'aaa': 1, 'bbb': 2, 'ccc': 3}
for k, v in d.items():
    print(f'key:{k} value:{v}')

# key:aaa value:1
# key:bbb value:2
# key:ccc value:3
# itemsを使うと、キーと値のfor文にできる。

d = {'aaa': 1, 'bbb': 2, 'ccc': 3}
for i, (k, v) in enumerate(d.items()):
    print(f'i:{i} key:{k} value:{v}')

# i:0 key:aaa value:1
# i:1 key:bbb value:2
# i:2 key:ccc value:3
# enumerateも使える。

keysとvaluesを使用したfor文も書けます。

d = {'aaa': 1, 'bbb': 2, 'ccc': 3}
for k in d.keys():
    print(k)

# aaa
# bbb
# ccc

d = {'aaa': 1, 'bbb': 2, 'ccc': 3}
for v in d.values():
    print(v)

# 1
# 2
# 3
Pythonで辞書型を作成・変更・表示・出力する Pythonで辞書型を作成・変更・表示・出力する