Pythonでfor文を使ったループ処理の使い方をまとめました。使い方ごとにサンプルソースを記載していますのでご利用ください。
Pythonでのfor文ループの使い方
for文の文法は以下になります。ループしたいオブジェクトには文字列やリスト、辞書などを設定することができます。
for 変数 in ループしたいオブジェクト:
繰り返す処理
rangeを使ったループ
同じ処理をx回繰り返したいという場合には、Pythonの組み込み関数であるrange()関数をを使います。
range()の引数が1つだけ場合、0から引数の数値未満の数値を繰り返します。例えばrange(3)の場合、0,1,2でループ処理をします。引数の3が入らないので注意が必要です。
copy
for j in range(3):
print(j)
range()の引数を2つにした場合、ループの開始が第一引数になります。例えばrange(1,3)の場合、1,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()関数と組み合わせると実装できます。
copy
items = ['りんご', 'みかん', 'ぶどう']
for i in range(len(items)):
print(str(i) + '番目の果物は' + items[i] + 'です')
また、enumerate()関数を使用して実装することも可能です。
copy
items = ['りんご', 'みかん', 'ぶどう']
for i, item in enumerate(items):
print(str(i) + '番目の果物は' + item + 'です')
またfor文にelse文を書くことが可能です。else文を書くと、for文終了後に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チュートリアル