Pythonのzip()関数は、複数のイテラブル(リスト、タプル、セットなど)から要素を取り出し、対応する要素をペアとしてまとめるために使用されます。
zip関数の基本的な使い方
numbers = [1, 2, 3, 4, 5]
letters = ['A', 'B', 'C', 'D', 'E']
combined = zip(numbers, letters)
print(list(combined)) # [(1, 'A'), (2, 'B'), (3, 'C'), (4, 'D'), (5, 'E')]
上記の例では、numbersとlettersという2つのリストをzip()関数で結合しています。zip()関数の結果はイテラブルなオブジェクトであるため、list()関数でリストに変換して表示しています。
インデックス数が異なる場合の挙動
zip()関数は、対応する要素をペアとしてまとめる際に、最短のイテラブルの要素数に合わせて動作します。そのため、要素数が少ないイテラブルの余った要素は無視されます。
numbers = [1, 2, 3, 4, 5]
letters = ['A', 'B', 'C']
combined = zip(numbers, letters)
print(list(combined)) # [(1, 'A'), (2, 'B'), (3, 'C')]
複数のリストを同時に処理する
zip()関数は複数のリストのインデックスを取得することができます。
names = ['taro', 'hanako', 'jiro']
ages = [25, 30, 27]
address = ['tokyo', 'nagoya', 'kanagawa']
for name, age, addr in zip(names, ages, address):
print(name, age, addr)
この例では、names、ages、symbolsという3つのリストから要素を取り出しています。zip()関数をforループで使用することで、対応する要素を同時に取り出すことができます。
以上がPythonのzip()関数の基本的な使い方と特性についての説明です。この関数は、複数のイテラブルなオブジェクトの要素を結合し、対応する要素をまとめるために非常に便利です。.