zip関数

関数 zip は、シーケンス (リスト、タプル、集合)の要素を統合する イテレータを生成します。この関数は、 最初と2番目のシーケンスのすべての要素が 順番に結合されたイテレータを返します。 関数のパラメータには、対象となるすべての タプル、リスト、集合などを指定します。

構文

pythonzip(最初のシーケンス, 2番目のシーケンス, など)

例

関数 zip を使用して、 2つの元のタプルから新しいタプルを作成してみましょう:

pythontlp1 = ('a', 'b', 'c')
tlp2 = (1, 2, 3)

res = zip(tlp1, tlp2)
print(tuple(res))

コードの実行結果:

python(('a', 1), ('b', 2), ('c', 3))

例

次に、関数 zip を使用して、 2つのリストから新しいタプルを作成してみましょう:

pythonlst1 = ['d', 'e', 'f']
lst2 = [4, 5, 6]

res = zip(lst1, lst2)
print(tuple(res))

コードの実行結果:

python(('d', 4), ('e', 5), ('f', 6))

例

2つの集合からタプルを作成してみましょう:

pythonst1 = {'a', 'b', 'c'}
st2 = {'d', 'e', 'f'}

res = zip(st1, st2)
print(tuple(res))

コードの実行結果:

python(('a', 'd'), ('c', 'e'), ('b', 'f'))

例

では、3つの集合からタプルを作成してみましょう:

pythonst1 = {'a', 'b', 'c'}
st2 = {'d', 'e', 'f'}
st3 = {1, 2, 3}

res = zip(st1, st2, st3)
print(tuple(res))

コードの実行結果:

python(('c', 'f', 1), ('b', 'd', 2), ('a', 'e', 3))

例

関数 zip を使用すると、 複数のオブジェクトを同時に反復処理できます。 例として、3つのリストを反復処理してみましょう:

pythonlst1 = [1, 2, 3]
lst2 = [4, 5, 6]
lst3 = [7, 8, 9]

for el1, el2, el3 in zip(lst1, lst2, lst3):
  print(el1, el2, el3)

コードの実行結果:

python1 4 7
2 5 8
3 6 9

関連項目

  • 関数 filter,
    反復可能オブジェクトをフィルタリングする関数
  • 関数 map,
    反復可能オブジェクトを反復処理する関数