Pythonにおけるzip関数の利用方法について現役エンジニアが解説【初心者向け】

初心者向けにPythonにおけるzip関数の利用方法について現役エンジニアが解説しています。zip関数とは、複数のリストを同時に取得して処理を行う場合に使用する関数です。Pythonのzipメソッドの書き方やリストデータの取得方法などの使い方について解説します。

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

Pythonにおけるzip関数の利用方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

そもそもPythonについてよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプPython講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonにおけるzip関数の利用方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

zip関数とは

zip関数とは、複数のリストを同時に取得して処理を行う場合に使用する関数です。zip関数を使用する事で、複数のリストを組み合わせた処理が簡単に行う事ができます。

[PR] Pythonで挫折しない学習方法を動画で公開中

zip()の使い方

zip()は基本的にforと組み合わせて使用します。その使用方法は下記のような記述になります。

[単体のリストとfor記述]

for 変数 in リスト:

[zip()を使用した複数のリストとfor記述]

for 変数1 , 変数2 in zip( リスト1 , リスト2 ):

例えば下記のような2つのリストをzip()を使用して取得した場合、それぞれインデックス0から順番にリストの値がそれぞれ変数1と変数2に取り出され、最後はインデックス2まで取り出されます。

zip()で複数のリストを取得する場合にそれぞれのリストのindexが異なる場合は、indexの値が少ない方のリストに合わせて取得されるので注意しましょう。

[リスト1]

index 0 1 2 3
apple banana orange grape

[リスト2]

index 0 1 2
りんご バナナ みかん

 

zip()を利用して2つ以上のリストデータを取得してみよう

それではzip()を利用して2つ以上のリストデータを取得するプログラムをサンプルコードを参考に作成してみましょう。

サンプルコード

# 変数にリスト型データをセット
list1 = ['apple','banana','orange','grape']
list2 = ['りんご','バナナ','みかん']

# 変数をそのまま出力
print(list1)
print(list2)

# zip()を使用して複数のリストデータを取得
for en , jp in zip( list1 , list2 ):
  # 取得したデータを出力
  print( en + '>>' + jp )

 

実行結果

['apple', 'banana', 'orange','grape']
['りんご', 'バナナ', 'みかん']
apple>>りんご
banana>>バナナ
orange>>みかん

 

解説

コード2,3行目では、変数にそれぞれリストデータをセットしています。コード6,7行目では、変数にセットしたリストデータをそのまま出力しています。

コード10行目では、zip()を使用して複数のリストを取得して取り出すforを設定しています。コード12行目では、取得したリストの値を出力しています。

実行結果では、設定したリストの値と、zip()を使用して取得したリストデータが順番に出力されている事が確認できます。

まとめ

今回は、Pythonにおけるzip関数の利用方法について紹介しました。

zip関数を利用する事で、複数のリストを組み合わせた処理をプログラムに実装する事ができます。この手法は様々な場面で活用できる内容になっているので、今回紹介した内容を参考にzip関数について理解を深めていってください。

監修してくれたメンター

菅繕久(すがよしひこ)

現在はフリーランスのエンジニアをしていてプログラミング歴は8年目になります。

普段は Python、FileMaker等を使って様々な業務で活用できるIoTプロダクトRPAツールを作成しています。
開発実績としては、業務自動化ツール(在庫管理・発注・ファイル操作 etc)、電子カルテシステム、ロボット用プログラムなどがあります。

TechAcademyではPythonコースを担当しております。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間でPythonを使った人工知能(AI)や機械学習の基礎を習得できるオンラインブートキャンプPython講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。