Python 複数のリストを一度にイテレートする方法「zip関数」の使い方

Pythonにおいて、複数のリストを一度にイテレートする方法として、zip関数があります。この記事では、zip関数の基本的な使い方から、その応用までを解説します。

zip関数とは何ですか?

zip関数とは、複数のリストをまとめて扱うための組み込み関数で、同じインデックスの要素を順番に取り出し、タプルにまとめて返します。

目次

zip関数とは

zip関数とは、Pythonの組み込み関数の一つで、複数のリストをまとめて扱うための関数です。

zip関数は、引数に与えたリストから同じインデックスの要素を順番に取り出し、タプルにまとめて返します。

例えば、3つのリストがあった場合、各リストの同じインデックスの要素を順番に取り出して、タプルにまとめます。そして、各タプルをイテレーションで取り出すことができます。このように、複数のリストを同時に扱う場合に非常に便利な関数です。

基本的な使い方

zip関数の基本的な使い方は、以下のようになります。

list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
for x, y in zip(list1, list2):
    print(x, y)

実行結果:

1 a
2 b
3 c

上記のコードでは、2つのリスト list1list2zip() 関数でまとめてイテレートしています。for ループでタプル形式で取り出される各要素を、それぞれ xy の変数に代入しています。そして、それらを使って print() 関数で出力しています。

このように、zip関数を用いることで複数のリストの要素を同時に取り出すことができます。取り出される要素は、引数に与えたリストの中で最も要素数の少ないリストに合わせて返されるため、リストの要素数には注意が必要です。

zip関数を使った応用例

以下によく利用されるzip関数を使ったサンプルを紹介します。

複数のリストを辞書に変換する

keys = ['a', 'b', 'c']
values = [1, 2, 3]

dict_data = dict(zip(keys, values))
print(dict_data)

{‘a’: 1, ‘b’: 2, ‘c’: 3}

上記のコードでは、zip() 関数で2つのリストをまとめて辞書に変換しています。dict() 関数を使うことで、引数に与えたキーと値のペアのシーケンスから辞書を作成することができます。

複数のリストの要素をまとめて計算する

list1 = [1, 2, 3]
list2 = [4, 5, 6]

sum_list = [x + y for x, y in zip(list1, list2)]
print(sum_list)

[5, 7, 9]

上記のコードでは、2つのリストを zip() 関数でまとめ、for ループで取り出しています。そして、取り出された各要素を足し算して新しいリストを作成しています。

複数のリストの要素をまとめて条件分岐する

list1 = [1, 2, 3]
list2 = [4, 5, 6]

result = ['even' if (x + y) % 2 == 0 else 'odd' for x, y in zip(list1, list2)]
print(result)

[‘odd’, ‘even’, ‘odd’]

上記のコードでは、2つのリストを zip() 関数でまとめ、各要素の和が偶数か奇数かで条件分岐して、新しいリストを作成しています。

このように、zip関数は複数のリストをまとめて扱う際に便利なだけでなく、様々な応用ができます。

リスキリングでキャリアアップしてみませんか?

リスキリング(学び直し)は、経済産業省が推奨しており、

今だけ、最大70%のキャッシュバックを受けることができます。

リスキリング 給付金が出るスクール紹介

最大70%の給付金が出るおすすめのプログラミングスクール!

国策で予算が決められているため申し込みが多い場合は早期に終了する可能性があります!

興味のある方はすぐに確認しましょう。

まとめ

zip関数の基本的な使い方から、その応用までを解説しました。

  • zip関数は、複数のリストを同時に扱う場合に便利な関数である。
  • zip関数を使うことで、複数のリストを同時にイテレートし、要素をまとめて扱うことができる。
  • zip関数を用いる際は、引数に与えたリストの中で最も要素数の少ないリストに合わせて動作するため、リストの要素数には注意が必要である。
  • zip関数を使った応用として、複数のリストを辞書に変換する、要素をまとめて計算する、条件分岐するなどが挙げられる。

zip関数を使うことで、複数のリストを同時に扱うことができるのはとても便利だと感じました。

Pythonにおいて、複数のリストを同時に扱う場合には、zip関数を使うことがおすすめです。また、zip関数は複数のリストをまとめて扱うだけでなく、リストを辞書に変換する、要素をまとめて計算する、条件分岐するなど、様々な応用ができます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次