在 Python 中將列表轉換為矩陣

Vaibhhav Khetarpal 2023年1月30日
  1. 在 Python 中使用迴圈和列表切片將列表轉換為陣列或矩陣
  2. 在 Python 中使用 Numpy 庫中的 array() 函式將列表轉換為陣列或矩陣
  3. 在 Python 中使用 Numpy 庫中的 asarray() 函式將列表轉換為陣列或矩陣
在 Python 中將列表轉換為矩陣

本教程將演示可用於在 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 Khetarpal avatar Vaibhhav Khetarpal avatar

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

相關文章 - Python List