【Python】for文ループの使い方

Python for文ループの使い方

Pythonでfor文を使ったループ処理の使い方をまとめました。使い方ごとにサンプルソースを記載していますのでご利用ください。

Pythonでのfor文ループの使い方

for文の文法は以下になります。ループしたいオブジェクトには文字列やリスト、辞書などを設定することができます。

for 変数 in ループしたいオブジェクト:

    繰り返す処理

rangeを使ったループ

同じ処理をx回繰り返したいという場合には、Pythonの組み込み関数であるrange()関数をを使います。

range()の引数が1つだけ場合、0から引数の数値未満の数値を繰り返します。例えばrange(3)の場合、0,1,2でループ処理をします。引数の3が入らないので注意が必要です。

指定した範囲でのループ1

copy

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

range()の引数を2つにした場合、ループの開始が第一引数になります。例えばrange(1,3)の場合、1,2でループ処理をします。

指定した範囲でのループ2

copy

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

range()関数についてさらに知りたい方は以下の公式リファレンスを参照ください。

参考 range()関数Python チュートリアル

文字列のループ

ループしたいオブジェクトには文字列を入れることも可能です。

文字列のループ

copy

for i in 'ぶどう':
    print(i)

リストのループ

リスト(配列)のループです。

リストのループ

copy

items = ['りんご', 'みかん', 'ぶどう']
for item in items:
    print(item)

リストの中身と一緒にリストの要素番号を出力したい場合には、len()関数と組み合わせると実装できます。

リストの番号を一緒に出力するループ1

copy

items = ['りんご', 'みかん', 'ぶどう']
for i in range(len(items)):
    print(str(i) + '番目の果物は' + items[i] + 'です')

また、enumerate()関数を使用して実装することも可能です。

リストの番号を一緒に出力するループ2

copy

items = ['りんご', 'みかん', 'ぶどう']
for i, item in enumerate(items):
    print(str(i) + '番目の果物は' + item + 'です')

またfor文にelse文を書くことが可能です。else文を書くと、for文終了後にelse文の中の処理を実行します。

elseでループ終了後に処理

copy

items = ['りんご', 'みかん', 'ぶどう']
for item in items:
    print(item)
else:
    print('果物は全部で' + str(len(items)) + '種類です')

辞書のループ

辞書のループには、値だけ・キーだけ・値とキーの両方を出力することができます。それぞれ書き方が異なるので気をつけましょう。

辞書内のキーだけを出力するループの書き方。

辞書のループ(キー)

copy

product = {'id':1, 'name':'coffee', 'price':600}
for key in product:
    print(key)

辞書内の値だけを出力するループの書き方。

辞書のループ(値)

copy

product = {'id':1, 'name':'coffee', 'price':600}
for value in product.values():
    print(value)

辞書内のキーと値両方を出力するループの書き方。

辞書のループ(キー・値)

copy

product = {'id':1, 'name':'coffee', 'price':600}
for key, value in product.items():
    print(key + ':' + str(value))

そのほかのループ

要素数の大きい方から小さい方にループしたい場合には、reversed()関数を使用します。

シーケンスを逆にする

copy

for j in reversed(range(3)):
    print(j)

リストの中身を変更せずに、出力するときだけソートしたい場合には、sorted()関数を使用します。

リストの中身をソートする

copy

items = ['りんご', 'みかん', 'ぶどう']
for item in sorted(items):
    print(item)

 

なお、本記事はPytnonチュートリアルを参考にしました。ループ処理だけでなく基本的なことを学びたい方は是非ご覧ください。

参考 PythonチュートリアルPythonチュートリアル

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です