Python | for文でリストや辞書の配列を反復処理

2023-02-26Python ループ,Python

Python | for文でリストや辞書の配列を反復処理

Pythonのfor文を使ってリストやタプル、辞書などの配列・連想配列のデータを反復処理する方法と簡単なサンプルコードを紹介しています。

Pythonでのfor文の基本形

以下はPythonでfor文を書く際の基本形になります。

for 値に利用する変数名 in 配列名:
    # 処理部分

Pythonで使うfor文のポイント

  • 反復処理中の配列の値やキーはfor文内で変更できない
  • 反復処理中の配列の値やキーを変更する場合は新規に作るかコピーを反復させる
  • そのデータの処理を抜ける場合はインデントありで「continue」
  • for文の処理を抜ける場合はインデントありで「break」
  • 辞書型にはvalues()やitems()が便利

for文を使ったリストの反復処理

for文を使ってリスト型の配列を反復処理するサンプルコードです。

data_list = ["apple", "orange", "pine"]

for value in data_list:
	print(value)

# apple
# orange
# pine

for文を使ったリストの反復処理

タプル型の反復処理もリスト型と同様に実装できます。

data_tuple = ("apple", "orange", "pine")

for value in data_tuple:
	print(value)

# apple
# orange
# pine

for文を使った辞書型(連想配列)の反復処理

辞書型の配列をfor文で反復処理する方法です。

辞書型の場合は、キーとその値のそれぞれの取得があります。

キー名を反復処理で取得する

以下の場合、value の部分にはキーが入るので反復する変数名を key としています。

data_dict = {1: "apple", 2: "orange", 3: "pine"}

for key in data_dict:
	print(key)

# 1
# 2
# 3

keys()を使った場合も同じ結果になります。

data_dict = {1: "apple", 2: "orange", 3: "pine"}

for key in data_dict.keys():
	print(key)

# 1
# 2
# 3

値を反復処理で取得する

キーが取得できているので、そのままリスト名[キー]として値を取り出す方法になります。

data_dict = {1: "apple", 2: "orange", 3: "pine"}

for key in data_dict:
	print(data_dict[key])

# apple
# orange
# pine

values()を使って値のみを反復処理する

data_dict = {1: "apple", 2: "orange", 3: "pine"}

for value in data_dict.values():
	print(value)

# apple
# orange
# pine

items()を使ってキーと値を反復処理

items()を使うとキーと値を反復中の変数に代入しながら処理を実行可能です。

items()を使わずに同じように記述すると反復不可能なオブジェクトのエラー exceptions.TypeError になります。

data_dict = {1: "apple", 2: "orange", 3: "pine"}

for key, value in data_dict.items():
	print(key, value)

# 1 apple
# 2 orange
# 3 pine