Pythonのzip()とは?|Python基礎

zip() は、複数のリストをまとめて同時に扱うための機能です。

リストに関してはこちら

たとえば、

  • 名前のリスト
  • 年齢のリスト

を一緒に使いたいときに便利です。

基本の書き方

zip(リスト1, リスト2)

これによって、同じ位置の値同士をセットで取り出せます。

names = ["Taro", "Hanako", "Ken"]
ages = [25, 30, 22]

for name, age in zip(names, ages):
    print(name, age)

上記のコードは、for文も使い、同じ位置の値同士をセットで取り出す例です。

for文に関してはこちら

Taro 25
Hanako 30
Ken 22

上記は、実行結果です。

このコードでは、 zip(names, ages) によって、

  • "Taro"25
  • "Hanako"30
  • "Ken"22

をセットにしています。

そのため、for name, age で同時に取り出せます。

リストに変換する

names = ["Taro", "Hanako"]
ages = [25, 30]

result = list(zip(names, ages))

print(result)

上記のコードは、zip()list() を使った例です。

[('Taro', 25), ('Hanako', 30)]

上記は、実行結果です。

zip() の結果は、list() を使うことで、リストに変換できます。

結果は、タプルのリストになります。

タプルに関してはこちら

リスト同士の長さが違う場合

names = ["Taro", "Hanako", "Ken"]
ages = [25, 30]

for name, age in zip(names, ages):
    print(name, age)

上記のコードは、リスト同士の長さが違う例です。

Taro 25
Hanako 30

上記は、実行結果です。

zip() は、短い方の長さ短い方の長さに合わせて処理されます。

今回は、names のリストには3つの値、ages には2つの値があります。

そのため、Ken は使われません

Comment

Translate »