zip() 並列イテレーション

最終更新:2026-09-22

zip() 並列イテレーション

zip(*iterables) は複数のイテラブルを「並列に」タプルのイテレータへ組み合わせます(最短で打ち切られます);strict=True の場合は等長であることを要求します。

カテゴリ組み込み関数
種類組み込み関数
Python バージョン3.10+

📝 構文

zip(*iterables, strict=False)

⚙️ 引数

iterables 必須Varargs: multiple iterables combined in parallel.
strict 任意When True, require equal lengths (Python 3.10+).(デフォルト値:False)

戻り値:An iterator of tuples pairing same-index elements; stops at the shortest input.

💥 例外

▶ 例

下のコードを編集し「実行」をクリックすると、出力パネルに結果が表示されます:

実行結果:

a 1
b 2
c 3
さらに多くのケースは近日公開予定です。

❓ よくある質問

Qzip() が長さの違う2つのシーケンスに会うとどうなりますか?
A既定では短い方で切り詰め、余った要素は破棄されます。例えば zip('abc', '12') は ('a','1') と ('b','2') しか生成しません。明示的にエラーにしたい場合は zip(a, b, strict=True)(Python 3.10+)を使います。
Qzip(*lst) は何をするもの?
Aアンパックして転置します。zip(*[(1, 'a'), (2, 'b')]) は (1, 2) と ('a', 'b') を生成し、「行」を「列」に変える、行列の転置によく使われます。
Qzip() は何を返しますか?
A遅延の zip イテレータを返します。リストが必要なら list(zip(...)) を使います。引数なしで呼ぶと空のイテレータを返します。
Qzip は一度にいくつのリストを走査できますか?
A任意の数です。for a, b, c in zip(x, y, z): で並行して値を取り出せ、複数のシーケンスを同時走査する標準的な書き方です。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%