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

2020-01-21Python,Python ループ

for文でリストや辞書を 反復処理する

Pythonのfor文を使ってリストやタプル、辞書などの配列・連想配列のデータを反復処理する方法になります。

Pythonでのfor文の基本形

Pythonでのfor文の基本形になります。

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

Pythonで使うfor文のポイント

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

for文を使ったリスト・タプルの反復処理

リスト型の配列

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

fruits = ['apple', 'orange', 'pine']

for value in fruits:
    print(value)

# apple
# orange
# pine

タプル型の配列

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

fruits = ('apple', 'orange', 'pine')

for value in fruits:
    print(value)

# apple
# orange
# pine

for文を使った辞書の反復処理

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

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

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

以下の場合、valueの部分にはキーが入るのでkeyとする。

fruits = {1: 'apple', 2: 'orange', 3: 'pine'}

for key in fruits:
    print(key)

# 1
# 2
# 3

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

fruits = {1: 'apple', 2: 'orange', 3: 'pine'}

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

# 1
# 2
# 3

値を反復処理で取得する

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

fruits = {1: 'apple', 2: 'orange', 3: 'pine'}

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

# apple
# orange
# pine

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

fruits = {1: 'apple', 2: 'orange', 3: 'pine'}

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

# apple
# orange
# pine

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

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

fruits = {1: 'apple', 2: 'orange', 3: 'pine'}

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

# 1 apple
# 2 orange
# 3 pine

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

2020-01-21Python,Python ループ

Posted by Yousuke.U