本文介紹如何利用python的內建函式zip(),計算矩陣的轉置
1、zip()函式介紹:
zip()函式用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的列表。
如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同,利用 * 號操作符,可以將元組解壓為列表。
例如:>>>a = [1,2,3]
>>>b = [4,5,6]
>>>c = zip(a,b)
>>>print(list(c))
out:[(1, 4), (2, 5), (3, 6)]說明,zip轉換後型別為元組,因此列印時需要適用list()函式轉換為列表形式,注意轉換後內部仍為元組,如需要得到二維列表,需要進一步轉換。
2、zip( * iterabl)的用法
zip( *
iterabl
)與zip()相反
,可理解為解壓,返回二維矩陣式
例如:>>>a = [[1,2,3],
[2,3,3],
[1,2,5]]
>>>c = zip(*a)
>>>c = list(c)
>>>for i in range(len(c)):
c[i]=list(c[i]) #將元組轉換為列表
>>>print(list(c))
out:
[[1, 2, 1], [2, 3, 2], [3, 3, 5]]
說明,zip轉換後型別為元組,因此列印時需要適用list()函式轉換為列表形式
3、適用python編寫矩陣轉置的函式如下:
def transpose(m):
m_v = zip(* m)
m_v = list(m_v)
for i in range(len(m_v)):
m_v[i] = list(m_v[i])
return m_v
python壓縮函式 zip
zip 函式用於將可迭代物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的物件。如果各個可迭代物件的元素個數不一致,則返回的物件長度與最短的可迭代物件相同。利用 號操作符,與zip相反,進行解壓。zip iterable1,iterable2,iterable是可迭代的物件,...
Python 內建函式zip
zip 將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的物件 作用 節約了記憶體 特點 要轉換為list才能輸出 元素的個數取決於最短的物件 解壓 利用 進行解壓 打包 zip iterable,解壓 zip obj obj為打包格式的物件,zip iterable,in 1 a 1 2...
Python中的Zip 函式
zip 函式用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的列表。如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同,利用 號操作符,可以將元組解壓為列表。zip 語法 zip iterable,引數說明 返回元組列表。以下例項展示了 zip 的使...