python 利用zip 函式進行矩陣轉置

2021-08-17 23:35:08 字數 986 閱讀 8525

本文介紹如何利用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 的使...