zip() は、複数のリストをまとめて同時に扱うための機能です。
たとえば、
- 名前のリスト
- 年齢のリスト
を一緒に使いたいときに便利です。
基本の書き方
zip(リスト1, リスト2)これによって、同じ位置の値同士をセットで取り出せます。
names = ["Taro", "Hanako", "Ken"]
ages = [25, 30, 22]
for name, age in zip(names, ages):
print(name, age)上記のコードは、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