一、zip(*iterables)函式詳解
1、zip()函式的定義
從引數中的多個迭代器取元素組合成乙個新的迭代器
返回:乙個zip物件,其內部元素為元組;可以轉化成列表或元組
傳入引數:元組、列表、字典等迭代器
2、zip()函式的用法
當zip()函式中只有乙個引數時,zip(iterable)從迭代器中依次取乙個元組,組成乙個元組。
in [1]: list1 = [1, 2, 3, 4]
in [2]: tuple1 = zip(list1)
in [3]: type(tuple1)
out[3]: zip
in [4]: list(tuple1)
out[4]: [(1,), (2,), (3,), (4,)]12
3456
78當zip()函式有兩個引數時,zip(a,b)函式分別從a和b中取乙個元素組成元組,再次將組成的元組組合成乙個新的迭代器。a與b的維數相同時,正常組合對應位置的元素。當a與b行或列數不同時,取兩者中的最小的行列數。
in [5]: m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
in [6]: n = [[1, 1, 1], [2, 2, 3], [3, 3, 3]]
in [7]: p = [[1, 1, 1], [2, 2, 2]]
in [8]: list(zip(m,n))
out[8]: [([1, 2, 3], [1, 1, 1]), ([4, 5, 6], [2, 2, 3]), ([7, 8, 9], [3, 3, 3])]
in [9]: list(zip(m,p))
out[9]: [([1, 2, 3], [1, 1, 1]), ([4, 5, 6], [2, 2, 2])]12
3456
783、zip()函式的應用
矩陣相加減、點乘(也可以用for迴圈+列表推導式實現)
in [10]: m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
in [11]: n = [[1, 1, 1], [2, 2, 3], [3, 3, 3]]
in [13]: [x*y for a, b in zip(m, n) for x, y in zip(a, b)]
out[13]: [1, 2, 3, 8, 10, 18, 21, 24, 27]
in [14]: [x+y for a, b in zip(m, n) for x, y in zip(a, b)]
out[14]: [2, 3, 4, 6, 7, 9, 10, 11, 12]12
3456
789二、*zip(*iterables)函式詳解
*zip()函式是zip()函式的逆過程,將zip物件變成原先組合前的資料。
python中的zip 函式詳解
一 zip iterables 函式詳解 1 zip 函式的定義 2 zip 函式的用法 python 3 zip 函式單個引數 in 1 list1 1,2,3,4 in 2 tuple1 zip list1 in 3 type tuple1 out 3 zip in 4 list tuple1 ...
Python中的Zip 函式
zip 函式用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的列表。如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同,利用 號操作符,可以將元組解壓為列表。zip 語法 zip iterable,引數說明 返回元組列表。以下例項展示了 zip 的使...
Python中的zip函式
定義 zip iterable,zip 是python的乙個內建函式,它接受一系列可迭代的物件作為引數,將物件中對應的元素打包成乙個個tuple 元組 然後返回由這些tuples組成的list 列表 若傳入引數的長度不等,則返回list的長度和引數中長度最短的物件相同。利用 號操作符,可以將list...