在 Python 中將列表轉換為矩陣
- 在 Python 中使用迴圈和列表切片將列表轉換為陣列或矩陣
-
在 Python 中使用 Numpy 庫中的
array()
函式將列表轉換為陣列或矩陣 -
在 Python 中使用 Numpy 庫中的
asarray()
函式將列表轉換為陣列或矩陣
本教程將演示可用於在 Python 中將列表轉換為矩陣的不同方法。
列表和矩陣都是 Python 提供的不同資料型別,用於在單個變數下儲存多個專案。在這兩種情況下,訪問這些專案都變得相對容易。
不幸的是,我們不能對列表執行一些數學函式。因此,在大多數情況下,列表因此被轉換為矩陣或陣列,以成功執行特定的數學函式。
Python 不直接包含陣列資料型別,但包含作為陣列子類的矩陣,這為它們提供了陣列的所有特性,除了它們自己的特性。在 Python 中有幾種方法可以將列表轉換為矩陣,下面都會提到。
在 Python 中使用迴圈和列表切片將列表轉換為陣列或矩陣
可以使用巢狀列表的概念製作一個簡單的矩陣。在此方法中,任務是將包含給定專案的列表轉換為列表。
這可以通過簡單地利用迴圈、append()
函式和列表切片的概念來實現。在這裡,我們將利用 while
迴圈來實現手頭的任務。
以下程式碼使用迴圈和列表切片將列表轉換為 Python 中的矩陣。
x = [2,10,20,200,4000]
mat = []
while x != []:
mat.append(x[:2])
x = x[2:]
print(mat)
輸出:
[[2, 10], [20, 200], [4000]]
在上面的程式碼中,我們選擇實現值 2
的列表切片。這可以根據使用者的需要而變化,並且可以改變矩陣中元素的位置。
在 Python 中使用 Numpy 庫中的 array()
函式將列表轉換為陣列或矩陣
NumPy 是一個必不可少的庫,它使使用者能夠在 Python 中建立和運算元組和矩陣。
numpy.array
方法可以在 Python 中宣告一個陣列。可以直接將列表作為該函式的引數,使用該函式後的結果是一個矩陣。
需要將 NumPy 庫匯入 Python 程式碼才能執行該程式而不會出現任何錯誤。
以下程式碼使用 NumPy 庫中的 array()
函式將列表轉換為 Python 中的陣列或矩陣。
import numpy as np
x = [12,10,20,200,4000]
mat = np.array(x)
print (mat)
輸出:
[ 12 10 20 200 4000]
此外,NumPy 庫還包含另一個函式 reshape()
,讓程式設計師根據需要決定列表元素的形狀和位置。
可以將以下程式碼視為實現 numpy.reshape()
函式的示例。
import numpy as np
x = np.array([12,10,20,200])
shape = (2,2)
print(x.reshape(shape))
輸出:
[[ 12 10]
[ 20 200]]
在 Python 中使用 Numpy 庫中的 asarray()
函式將列表轉換為陣列或矩陣
numpy.asarray()
函式的工作原理類似於 numpy.array()
函式。此函式可以將字典、列表等多種資料型別物件轉換為簡單的 NumPy 矩陣。
numpy.array()
方法在 numpy.asarray()
函式中呼叫,這就是為什麼說前一個函式的語法只是後者的擴充套件。
在 numpy.asarray()
函式中,copy
標誌預設為 False,這與 numpy.array()
函式將 copy
標誌預設為 True 不同。
以下程式碼使用 NumPy 庫中的 asarray()
函式將列表轉換為 Python 中的陣列或矩陣。
import numpy as np
x = [2,10,20,200,4000]
mat = np.asarray(x)
print (mat)
輸出:
[ 2 10 20 200 4000]
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn