【Python】zip()関数を使って複数のリストを1つにまとめて取得する!サンプルコード付き!

リストやタプルなどで複数ある要素をまとめて取得したいケースが見られるかと思います。
その場合、zip()関数を使うと便利です。

zip関数()は複数のリストを同時に取得したい場合に使用することができます。
今回はzip()関数で複数のリストを1つにまとめて取得することについて解説していきます。

zip()関数とは

先ほども言いましたが、zip関数は複数のリストを同時に取得したい場合に使用されます。
反復可能なオブジェクト(ゼロ以上)を受け取り、それらをリストなどに集約して返しています。

zip()関数の書き方

zip()関数の構文は下記になります。

パラメータ

zip()関数にパラメーターは下記になります。
リストなど
リスト、文字列、辞書など、またはユーザー定義のオブジェクトを使用できます

戻り値

パラメータを渡さない場合、空を返します。
単一の反復可能なオブジェクトが渡された場合、要素が1つしかないオブジェクトの要素を返します。
複数のオプジェクトが渡された場合、オブジェクトの持つ要素を返します。

zip()関数を使ったサンプルコード

出力結果

[(‘あ’, 1), (‘い’, 2), (‘う’, 3)]

wordというリストとnumというリストがりますが、zip()関数によって一つにまとめてリストとして表示しています。

zip()関数の基本的な使い方

複数のオプジェクトをまとめて取得

複数のオプジェクトをまとめて取得してみます。
まずはリストでまとめて取得してみます。

リストで取得した例

出力結果

[(‘山田’, ‘山本’), (‘ケニー’, ‘ベッキー’), (‘鈴木’, ‘クリス’)]
[(1, 5), (2, 6), (3, 7), (4, 8)]

複数の要素を1つのリストでまとめて作成されています。

続いてタプルでまとめて取得してみます。

タプルで取得した例

出力結果

((‘山田’, ‘山本’), (‘ケニー’, ‘ベッキー’), (‘鈴木’, ‘クリス’))
((1, 5), (2, 6), (3, 7), (4, 8))

複数の要素を1つのタプルでまとめて作成されています。

要素数が異なるオブジェクトの要素をまとめて取得

要素数が異なるブジェクトの要素をまとめて取得してみます。
まずは、リストでまとめて取得してみます。

リストで取得した例

出力結果

[(‘山田’, ‘山本’), (‘ケニー’, ‘ベッキー’), (‘鈴木’, ‘クリス’)]
[(1, 5), (2, 6), (3, 7), (4, 8)]

要素の数が異なる場合は、少ない方に合わせてリストが作成されます。
余った要素は無視されます。

続いてタプルでまとめて取得してみます。

タプルで取得した例

出力結果

((‘山田’, ‘山本’), (‘ケニー’, ‘ベッキー’), (‘鈴木’, ‘クリス’))
((1, 5), (2, 6), (3, 7), (4, 8))

こちらも同様に要素の数が異なる場合は、少ない方に合わせてタプルが作成されます。
余った要素は無視されます。

オブジェクトが異なる要素をまとめて取得

オブジェクトが異なる要素をまとめて取得してみます。
まずは、リストでまとめて取得してみます。

リストで取得した例

出力結果

[(‘山田’, ‘山本’), (‘ケニー’, ‘ベッキー’), (‘鈴木’, ‘クリス’)]
[(1, 5), (2, 6), (3, 7), (4, 8)]

リストとタプルの異なるオブジェクトを1つのリストとしてまとめて取得することができました。

続いてタプルでまとめて取得してみます。

タプルで取得した例

出力結果

((‘山田’, ‘山本’), (‘ケニー’, ‘ベッキー’), (‘鈴木’, ‘クリス’))
((1, 5), (2, 6), (3, 7), (4, 8))

リストとタプルの異なるオブジェクトを1つのタプルとしてまとめて取得することができました。

for文で複数のオブジェクトの要素をまとめて取得

for文を使って複数のオブジェクトの要素をまとめて取得してみます。
まずは、リストでまとめて取得してみます。

リストで取得した例

出力結果

山田 山本
ケニー ベッキー
鈴木 クリス
1 5
2 6
3 7
4 8

複数のリストの中の要素をまとめて取得することができました。

続いてタプルでまとめて取得してみます。

タプルで取得した例

出力結果

山田 山本
ケニー ベッキー
鈴木 クリス
1 5
2 6
3 7
4 8

複数のタプルの中の要素をまとめて取得することができました。

リストを解凍する

zip()関数はリストを解凍することもできます。

出力結果

[(‘山田’, 1), (‘ケニー’, 2), (‘鈴木’, 3)]
n1 = (‘山田’, ‘ケニー’, ‘鈴木’)
n2 = (1, 2, 3)

Writer
壷井

壷井

株式会社flyhawkの壷井です。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報

フリーランスエンジニアの案件探し