6-6. Pythonのzip関数


1. Pythonのzip関数とは?

zip関数は複数のイテラブルオブジェクト(リストなど)を1つにまとめる関数です。各要素がタプルでまとめられます。

例えば、for文で2つのリストを同時に1つずつ取り出して処理したい場合などにzip関数を使います。

Pythonのzip関数の説明

2. zip関数の書き方

zipの引数にイテラブルオブジェクトを複数指定します。

  • zip(<リスト1>, <リスト2>, <リスト3>, ....) : 各リストを1つにまとめて、イテレータを返す

以下の例では、['a', 'b', 'c'][1, 2, 3]のリストの要素を、for文の中でそれぞれ1つずつ取り出しています。

for i, j in zip(['a', 'b', 'c'], [1, 2, 3]):
    print(i, j)

>> a 1
>> b 2
>> c 3

3. 要素数が違う時のzip関数

zipの引数に指定するリストの要素数が違う場合は、要素数が一番小さいリストの長さに揃えられます。

例えば、要素数が 3, 4, 5 のリストのzip関数は、各リストの前から 3 つの要素しか返しません。

list_4 = [1, 2, 3]
list_5 = [101, 102, 103, 104]
list_6 = [1001, 1002, 1003, 1004, 1005]

for i, j, k in zip(list_4, list_5, list_6):
    print(i, j, k)

>> 1 101 1001
>> 2 102 1002
>> 3 103 1003

4. Python公式ドキュメント


このエントリーをはてなブックマークに追加