ZIP()関数は、パラメータの反復として対象とするために使用され、オブジェクトの対応する要素はタプルに充填し、これらのタプルのリストを返します。
各イテレータ矛盾、リストの最短長さの要素の数は、同じオブジェクトを返す場合。
使用*演算子いいえ、タプルはリストを抽出します。
ジップ()関数の基本的な構文:zip([iterable, ...])
、反復処理可能オブジェクトは、文字列、リスト、タプルや辞書であってもよいし、1回以上の繰り返しを表します。
アプリケーション例:
>>> a = [1, 2, 3, 4, 5] # 在列表中的应用
>>> b = [3, 4, 5, 6, 7]
>>> c = [5, 6, 7, 8, 9]
>>> zipped = zip(a, b, c)
>>> zipped
<zip object at 0x0000018AA4DCFF08> # 返回一个 zip 对象
>>> list(zipped)
[(1, 3, 5), (2, 4, 6), (3, 5, 7), (4, 6, 8), (5, 7, 9)] # 使用 list() 函数将其转换为列表
>>> z = zip(*zip(a, b, c)) # 解压操作
>>> z
<zip object at 0x0000018AA4DD50C8>
>>> list(z)
[(1, 2, 3, 4, 5), (3, 4, 5, 6, 7), (5, 6, 7, 8, 9)]
>>> a = {'a':1, 'b':2, 'c':3} # 在字典中的应用
>>> b = {'d':4, 'e':5, 'f':6}
>>> c = {'g':7, 'h':8, 'i':9}
>>> zipped = zip(a, b, c)
>>> list(zipped)
[('a', 'd', 'g'), ('b', 'e', 'h'), ('c', 'f', 'i')]
>>> z = zip(*zip(a, b, c))
>>> list(z)
[('a', 'b', 'c'), ('d', 'e', 'f'), ('g', 'h', 'i')]