【Python】
いろいろなfor文の書き方
回数指定, list, dictionary, tuple
投稿日 2022/02/22 更新日 2022/02/22
こんにちは。当サイトの管理者「元木皇天」です。
最近Pythonで自作のツールを作成し始めたのですが、for文の書き方が今までやってきた他のプログラミング言語と違くてなんかよくわからん...てなりました(笑)
というわけで、今回はPythonでのfor文の書き方を、回数指定, list(配列型), dictionary(辞書型), tuple(タプル型)の4種類について解説したいと思います。
環境
OS:MacOS Big Sur
Python:Ver 3.8.3
PyCharm:Ver 2020.2(Community Edition)
やりたいこと
Pythonでfor文を使用して繰り返し処理を行う
参考文献
・入門 Python 3 第2版
・Python ドキュメント その他の制御フローツール
・Python ドキュメント 複合文
for文-指定回数
for文の中でも最も普通な、繰り返し回数を指定するfor文をまずは紹介します。
指定回数繰り返し処理を行うにはrange()を使用して回数を指定します。
使い方は以下の通りです。
# 3回繰り返し処理を行う for i in range(3): print(i)
実際に実行すると以下のようになり、繰り返し処理を実行できていることがわかります。
実際のコードと結果
for文-list(配列型)
次にlist(配列型)のfor文の書き方を2種類解説いたします。
1つ目は、先ほどと近い書き方です。
listのサイズを取得し、その回数分繰り返して処理を行うというものです。
書き方は以下の感じです。
# listを作成 list = ["A", "B", "C"] # listの要素数分繰り返す for i in range(len(list)): print(list[i])
ポイントとしては、len()を使用してlistのサイズを取得し、その値をrangeで使用しているという点です。
実行するとlistの中身が全て出力されていることが確認できます。
次にもう1種類の方法について解説いたします。
もう1種類の書き方は以下の通りです。
# listを作成 list = ["A", "B", "C"] # listの要素を繰り返し処理で取得する for item in list: print(item)
この書き方でも、先ほどと同じ結果が得られることがわかります。
こちらの書き方だと、要素そのものを1つずつ取り出して使用できるので、より簡潔に書くことができます。
他のプログラミング言語のJavaとかだと拡張for文、jsだとfor of文とかに近い感じかなと思います。
for文-dictionary(辞書型)
次に、dictionary(辞書型)をfor文で繰り返し処理する方法について解説いたします。
辞書型はkey-value形式の値です。
ここではkeyのみ、valueのみ、keyとvalue同時の3種類を、繰り返し処理の中で取得する方法について解説いたします。
keyのみ、valueのみ、keyとvalue同時をfor文で取得する方法は以下の通りです。
# dictionaryを作成 dict = { "1": "A", "2": "B", "3": "C" } # dictのkeyのみを繰り返し処理で取得する for key in dict.keys(): print(key) # dictのvalueのみを繰り返し処理で取得する for value in dict.values(): print(value) # dictのkeyとvalueを繰り返し処理で取得する for key, value in dict.items(): print(key, value)
実際に実行すると以下のようになります。
ポイントとなるのは「in」の後ろに記述するメソッドです。
取得したい内容に応じて、keys(), values(), items()を使用するようにしましよう。
また、items()を使用する際には「in」の前に記述する変数を2つ書くことを忘れないようにしましょう。
for文-tuple(タプル型)
最後に、tuple(タプル型)をfor文で繰り返し処理する方法について解説いたします。
といっても、やり方はリスト型と同じです。
# tupleを作成 tuple = ("A", "B", "C") # tupleを繰り返し処理で取得する for item in tuple: print(item)
実際の実行結果は以下の通りです。
まとめ
Pythonでfor文を使用するためには
for ... in 構文を使用する。