<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>「zip」タグの記事一覧Python Tech</title>
	<atom:link href="https://tech.nkhn37.net/tag/zip/feed/" rel="self" type="application/rss+xml" />
	<link>https://tech.nkhn37.net</link>
	<description>Python学習サイト</description>
	<lastBuildDate>Sun, 26 Oct 2025 05:02:32 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://tech.nkhn37.net/wp-content/uploads/2021/01/cropped-lion-normal-clear-1-32x32.png</url>
	<title>「zip」タグの記事一覧Python Tech</title>
	<link>https://tech.nkhn37.net</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【Python】zipを用いたfor文の使い方 ~複数のリストをまとめて処理~</title>
		<link>https://tech.nkhn37.net/python-for-zip/</link>
					<comments>https://tech.nkhn37.net/python-for-zip/#respond</comments>
		
		<dc:creator><![CDATA[naoki-hn]]></dc:creator>
		<pubDate>Wed, 27 Jan 2021 00:00:00 +0000</pubDate>
				<category><![CDATA[for文]]></category>
		<category><![CDATA[itertools]]></category>
		<category><![CDATA[zip]]></category>
		<category><![CDATA[zip_longest]]></category>
		<guid isPermaLink="false">https://tech.nkhn37.net/?p=424</guid>

					<description><![CDATA[Pythonにおけるzipを用いたfor文の使い方について解説します。 for文におけるzipの基本的な使い方 Pythonの繰り返し処理にはfor文を使用します。for文の基本については「for文の基本的な使い方」を参 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Pythonにおける<span class="marker"><strong><code>zip</code>を用いた<code>for</code>文の使い方</strong></span>について解説します。</p>



<h2 class="wp-block-heading jinr-heading d--bold" id="for文におけるzipの基本的な使い方"><code>for</code>文における<code>zip</code>の基本的な使い方</h2>



<p class="wp-block-paragraph">Pythonの繰り返し処理には<code>for</code>文を使用します。<code>for</code>文の基本については「<a href="https://tech.nkhn37.net/python-for/" target="_blank" rel="noreferrer noopener">for文の基本的な使い方</a>」を参照してください。</p>



<p class="wp-block-paragraph">Pythonの<code>for</code>文では、リストや辞書などのイテラブルなオブジェクトを処理します。複数のオブジェクトを同時に処理するには<span class="marker"><strong><code>zip</code></strong></span>が便利です。</p>



<p class="wp-block-paragraph">この記事では、<span class="marker"><strong><code>zip</code>を用いた<code>for</code>文の使い方</strong></span>について紹介します。</p>



<h3 class="wp-block-heading jinr-heading d--bold" id="zipで複数のリストをまとめてfor文で実行する方法"><code>zip</code>の基本的な使い方</h3>



<p class="wp-block-paragraph">以降ではリストを対象として<span class="marker"><strong><code>zip</code></strong></span>の基本的な使い方を紹介します。以降の例ではリストを使用しましたが、他のイテラブルなオブジェクトにも適用可能です。</p>



<h4 class="wp-block-heading jinr-heading d--bold"><code>zip</code>で複数リストをまとめて<code>for</code>文で実行する方法</h4>



<p class="wp-block-paragraph">以下に<code>zip</code>を使った<code>for</code>文の例を示します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">data1 = [10, 20, 30, 40, 50]
data2 = ["A", "B", "C", "D", "E"]

# zipで複数リストをまとめて処理する
for dt1, dt2 in zip(data1, data2):
    print(f"dt1: {dt1}, dt2: {dt2}")</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">【実行結果】
dt1: 10, dt2: A
dt1: 20, dt2: B
dt1: 30, dt2: C
dt1: 40, dt2: D
dt1: 50, dt2: E</pre>



<p class="wp-block-paragraph"><code>zip(data1, data2)</code>のように複数リストを渡して<code>for</code>文で使用します。各ループで、<code>data1</code>の要素が<code>dt1</code>に、<code>data2</code>の要素が<code>dt2</code>に順に格納されます。</p>



<h4 class="wp-block-heading jinr-heading d--bold">タプル（<code>tuple</code>）で取得して<code>for</code>文を実行する方法</h4>



<p class="wp-block-paragraph"><code>zip</code>を使うとデータはタプルとして取得されます。<code>for</code>文で1つの変数に受け取るとタプルとして扱えます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">data1 = [10, 20, 30, 40, 50]
data2 = ["A", "B", "C", "D", "E"]

# zipで複数リストをまとめて処理する (タプルで取得する)
for tpl in zip(data1, data2):
    print(f"dt1: {tpl[0]}, dt2: {tpl[1]}")</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">【実行結果】
dt1: 10, dt2: A
dt1: 20, dt2: B
dt1: 30, dt2: C
dt1: 40, dt2: D
dt1: 50, dt2: E</pre>



<p class="wp-block-paragraph">上記例では、タプルの0番目が<code>data1</code>、1番目が<code>data2</code>の値です。</p>



<h3 class="wp-block-heading jinr-heading d--bold" id="要素数が異なる場合の処理">要素数が異なる場合の処理</h3>



<p class="wp-block-paragraph">ここまで<code>zip</code>の使い方を紹介しましたが、要素数が異なる場合の処理についても説明します。</p>



<h4 class="wp-block-heading jinr-heading d--bold" id="zipは少ない要素数のリストにあわせて処理が実行される"><code>zip</code>は少ない要素数のリストにあわせて処理される</h4>



<p class="wp-block-paragraph"><code>zip</code>では、要素数が異なるリストを扱う場合、<span class="marker"><strong>少ない方にあわせて処理されて、多い方の残りは無視</strong></span>されます。</p>



<p class="wp-block-paragraph">以下のように<code>data1</code>の方が<code>data2</code>よりも要素が多い場合の例で見てみましょう。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">data1 = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
data2 = ["A", "B", "C", "D", "E"]

# 要素の長さが異なる場合(少ない要素数にあわせて実行される)
for dt1, dt2 in zip(data1, data2):
    print(f"dt1: {dt1}, dt2: {dt2}")</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">【実行結果】
dt1: 10, dt2: A
dt1: 20, dt2: B
dt1: 30, dt2: C
dt1: 40, dt2: D
dt1: 50, dt2: E</pre>



<p class="wp-block-paragraph">上記ような場合、要素数の少ない<code>data2</code>の要素数にあわせて<code>for</code>文が実行されるので<code>data1</code>のデータのうち「<code>60, 70, 80, 90, 100</code>」は無視されます。</p>



<h4 class="wp-block-heading jinr-heading d--bold" id="要素数が多い方にあわせてかつ要素数が足りない部分を補って処理する方法-itertools-zip-longest">要素数が多い方にあわせて足りない部分を補完して処理する方法（<code>itertools.zip_longest</code>）</h4>



<p class="wp-block-paragraph">上記までで紹介した通り、<code>zip</code>では要素の少ない方にあわせて処理されるため、要素数が多い方の残りの部分は無視されてしまいました。しかし、要素数の多い方のデータもすべて含めて扱いたい場合もあります。</p>



<p class="wp-block-paragraph">このように要素数が多い方のリストに合わせて処理をしたい場合には、<span class="marker"><strong><code>itertools</code></strong></span>パッケージの<span class="marker"><strong><code>zip_longest</code></strong></span>を使用することができます。<code>itertools</code>は、イテレーションに関する様々なユーティリティを提供し、かつ効率のよく処理をしてくれるライブラリです。</p>



<p class="wp-block-paragraph">以下の例で<code>zip_longest</code>の使い方を見てみましょう。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import itertools

data1 = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
data2 = ["A", "B", "C", "D", "E"]

# itertools.zip_longestを用いて、不足分をNoneで補完する
for dt1, dt2 in itertools.zip_longest(data1, data2):
    print(f"dt1: {dt1}, dt2: {dt2}")</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">【実行結果】
dt1: 10, dt2: A
dt1: 20, dt2: B
dt1: 30, dt2: C
dt1: 40, dt2: D
dt1: 50, dt2: E
dt1: 60, dt2: None
dt1: 70, dt2: None
dt1: 80, dt2: None
dt1: 90, dt2: None
dt1: 100, dt2: None</pre>



<p class="wp-block-paragraph"><code>zip_longest</code>を使用するには、<code>itertools</code>をインポートが必要です。デフォルトでは、足りない部分は<code>None</code>で補完されます。</p>



<h4 class="wp-block-heading jinr-heading d--bold" id="iter-tools-zip-logestで任意の指定値で補完したい場合-fillvalueオプション"><code>itertools.zip_logest</code>で任意の指定値で補完したい場合（<code>fillvalue</code>）</h4>



<p class="wp-block-paragraph"><code>zip_longest</code>は、デフォルトでは少ない方の要素を<code>None</code>で補完しますが、<span class="marker"><strong><code>fillvalue</code></strong></span>引数で任意の値を指定できます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import itertools

data1 = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
data2 = ["A", "B", "C", "D", "E"]

# itertools.zip_longestで、補完する値を指定する
for dt1, dt2 in itertools.zip_longest(data1, data2, fillvalue="Z"):
    print(f"dt1: {dt1}, dt2: {dt2}")</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">【実行結果】
dt1: 10, dt2: A
dt1: 20, dt2: B
dt1: 30, dt2: C
dt1: 40, dt2: D
dt1: 50, dt2: E
dt1: 60, dt2: Z
dt1: 70, dt2: Z
dt1: 80, dt2: Z
dt1: 90, dt2: Z
dt1: 100, dt2: Z
</pre>



<p class="wp-block-paragraph">上記例では、補完に<code>fillvalue="Z"</code>を指定しているため、<code>data2</code>のリストで不足する部分には、<code>Z</code>が補完されていることが分かります。</p>



<h2 class="wp-block-heading jinr-heading d--bold">まとめ</h2>



<p class="wp-block-paragraph">Pythonにおける<span class="marker"><strong><code>zip</code>を用いた<code>for</code>文の使い方</strong></span>について解説しました。</p>



<p class="wp-block-paragraph"><code>zip</code>は複数のイテラブルなオブジェクトを<code>for</code>文で同時に処理するために使用します。例で紹介したリスト以外のイテラブルにも使えるので、柔軟に利用できます。</p>



<p class="wp-block-paragraph"><code>zip</code>では、値を直接取得する方法とタプルとして取得する方法があります。また、<code>zip</code>は要素数が異なる場合は少ない方にあわせて処理されますが、<code>itertools</code>の<code>zip_longest</code>を使うことで不足する部分を補完して処理することもできます。</p>



<p class="wp-block-paragraph"><code>for</code>文での処理では、<code>zip</code>は非常によく使う方法ですので、うまく使いこなせるようになってもらいたいと思います。</p>



<section class="wp-block-jinr-blocks-iconbox b--jinr-block b--jinr-iconbox"><div class="d--simple-iconbox6 ">
			<i class="jif jin-ifont-v2books" aria-hidden="true"></i>
			<div class="a--jinr-iconbox">
<ul class="wp-block-list jinr-list">
<li><code>zip</code> の公式ドキュメントは<a href="https://docs.python.org/ja/3/library/functions.html#zip" target="_blank" rel="noreferrer noopener">こちら</a>を参照してください。</li>



<li><code>itertools.zip_longest</code> の公式ドキュメントは<a href="https://docs.python.org/ja/3/library/itertools.html#itertools.zip_longest" target="_blank" rel="noreferrer noopener">こちら</a>を参照してください。</li>
</ul>
</div>
		</div></section>



<section class="wp-block-jinr-blocks-simplebox b--jinr-block-container"><div class="b--jinr-block b--jinr-box d--heading-box8  "><div class="a--simple-box-title d--bold">ソースコード</div><div class="c--simple-box-inner">
<p class="wp-block-paragraph">上記で紹介しているソースコードについては <a href="https://github.com/nkhn37/python-tech-sample-source/tree/main/python-basic/for" target="_blank" rel="noreferrer noopener">GitHub</a> にて公開しています。参考にしていただければと思います。</p>
</div></div></section>


<section class="b--jinr-block b--jinr-blogcard d--blogcard-hover-up d--blogcard-style1 d--blogcard-mysite t--round "><div class="a--blogcard-label ef">あわせて読みたい</div><a class="o--blogcard-link t--round" href="https://tech.nkhn37.net/python-tech-summary-page/"><div class="c--blogcard-image"><img decoding="async" class="a--blogcard-img-src" width="128" height="72" src="https://tech.nkhn37.net/wp-content/uploads/2024/08/Python-Tech-Pythonプログラミングガイド_new1-640x360.jpg" alt="【Python Tech】プログラミングガイド" /></div><div class="a--blogcard-title d--bold">【Python Tech】プログラミングガイド</div></a></section>]]></content:encoded>
					
					<wfw:commentRss>https://tech.nkhn37.net/python-for-zip/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Disk: Enhanced  を使用したページ キャッシュ

Served from: tech.nkhn37.net @ 2026-06-14 23:57:14 by W3 Total Cache
-->