一、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)
out[4]: [(1,), (2,), (3,), (4,)]
# zip()函式有兩個引數
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])]
3、zip()函式的應用
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]
二、*zip(*iterables)函式詳解
*zip()函式是zip()函式的逆過程,將zip物件變成原先組合前的資料。
in [24]: m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
in [25]: n = [[1, 1, 1], [2, 2, 3], [3, 3, 3]]
in [26]: print(*zip(m, n))
([1, 2, 3], [1, 1, 1]) ([4, 5, 6], [2, 2, 3]) ([7, 8, 9], [3, 3, 3])
in [27]: m2, n2 = zip(*zip(m,n))
in [28]: m == list(m2) and n == list(n2)
out[28]: true
python中的zip 函式詳解
一 zip iterables 函式詳解 1 zip 函式的定義 從引數中的多個迭代器取元素組合成乙個新的迭代器 返回 乙個zip物件,其內部元素為元組 可以轉化成列表或元組 傳入引數 元組 列表 字典等迭代器 2 zip 函式的用法 當zip 函式中只有乙個引數時,zip iterable 從迭代...
Python中的Zip 函式
zip 函式用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的列表。如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同,利用 號操作符,可以將元組解壓為列表。zip 語法 zip iterable,引數說明 返回元組列表。以下例項展示了 zip 的使...
Python中的zip函式
定義 zip iterable,zip 是python的乙個內建函式,它接受一系列可迭代的物件作為引數,將物件中對應的元素打包成乙個個tuple 元組 然後返回由這些tuples組成的list 列表 若傳入引數的長度不等,則返回list的長度和引數中長度最短的物件相同。利用 號操作符,可以將list...