\

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')]

上記の例では、numberslettersという2つのリストをzip関数で結合しています。zip関数の結果はイテラブルなオブジェクトであるため、list関数でリストに変換して表示しています。

2つ以上のリストを指定する

zip関数は2つ以上のリストのインデックスを取得することができます。

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)

インデックス数が異なる場合

zip関数で異なるインデックス数を指定した場合は、インデックス数が少ないリストの値が返され、その分の値は処理されません。

names = ['taro', 'hanako', 'jiro', 'takeshi']
ages = [25, 30, 27]

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

タプルとして取得したい場合

zip関数はリストのインデックスを同時に取得することができますが、zip関数のタプルとして取得することもできます。

names = ['taro', 'hanako', 'jiro', 'takeshi']
ages = [25, 30, 27]

# リストを結合する
tp = zip(names, ages)

# タプルの要素を取得
for val in tp:
    print(val)

このように、Pythonのzip関数は非常に便利で、複数のリストやイテラブルなオブジェクトの要素を一度に取得したい場合に活用できます。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です