Python3 zip() 関数
説明
zip()この関数は、反復可能なオブジェクト(リスト、タプル、文字列など)をパラメータとして受け取り、オブジェクト内の対応する要素を1つずつタプルにまとめ、それらのタプルからなるオブジェクトを返します。この利点は、メモリを大幅に節約できることです。
list() 変換を使用してリストを出力できます。
各イテレータの要素数が一致しない場合、返されるリストの長さは最も短いオブジェクトと同じになります。これを利用して** 演算子を使用すると、タプルをリストに解凍できます。
zip メソッドの Python 2 と Python 3 での違い:Python 2.x では zip() はリストを返します。
Python2 の使い方を知る必要がある場合は、参照してください:Python zip()。
構文
zip 構文:
zip([iterable, ...])
パラメータの説明:
- iterable -- 反復可能なオブジェクト(リスト、タプル、文字列など)
戻り値
オブジェクトを返します。
例
以下の例は zip の使用方法を示しています:
例 (Python 3.0+)
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b) # オブジェクトを返す
>>> zipped
<zip object at 0x103abc288>
>>> list(zipped) # list() でリストに変換
[(1, 4), (2, 5), (3, 6)]
>>> list(zip(a,c)) # 要素数は最短のリストと同じ
[(1, 4), (2, 5), (3, 6)]
>>> a1, a2 = zip(*zip(a,b)) # zip とは逆に、zip(*) は解凍と見なせ、2次元行列形式を返す
>>> list(a1)
[1, 2, 3]
>>> list(a2)
[4, 5, 6]
>>>
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b) # オブジェクトを返す
>>> zipped
<zip object at 0x103abc288>
>>> list(zipped) # list() でリストに変換
[(1, 4), (2, 5), (3, 6)]
>>> list(zip(a,c)) # 要素数は最短のリストと同じ
[(1, 4), (2, 5), (3, 6)]
>>> a1, a2 = zip(*zip(a,b)) # zip とは逆に、zip(*) は解凍と見なせ、2次元行列形式を返す
>>> list(a1)
[1, 2, 3]
>>> list(a2)
[4, 5, 6]
>>>
Python3 組み込み関数