管理和操作Python二維數組的技巧

一、創建二維數組

在Python中,我們可以通過列表和numpy庫來創建二維數組。

1、使用列表


matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(matrix)

輸出結果如下:


[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

列表中的每個元素都是一個列表,表示矩陣的每一行。可以通過下標訪問二維數組的元素,如matrix[1][2]表示第二行第三個元素。

2、使用numpy

使用numpy可以更方便地創建和操作二維數組。


import numpy as np

matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(matrix)

輸出結果如下:


[[1 2 3]
 [4 5 6]
 [7 8 9]]

創建numpy數組的方式和列表類似,但需要使用numpy的array函數。numpy數組可以進行矩陣運算,如乘法、轉置等操作。

二、遍歷二維數組

1、常規方法

可以使用兩層循環遍歷二維數組中的每個元素。


matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for i in range(len(matrix)):
    for j in range(len(matrix[i])):
        print(matrix[i][j], end=" ")
    print()

輸出結果如下:


1 2 3 
4 5 6 
7 8 9 

2、使用numpy的nditer函數

numpy的nditer函數可以更簡潔地遍歷二維數組。


matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
for i in np.nditer(matrix):
    print(i, end=" ")

輸出結果如下:


1 2 3 4 5 6 7 8 9

三、切片操作

切片操作是指通過下標範圍訪問二維數組中的一塊區域。

1、切片操作

切片操作可以使用冒號分隔的下標範圍表示。如matrix[1:3, 1:3]表示訪問第二行到第三行、第二列到第三列之間的元素。


matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
submatrix = matrix[1:3, 1:3]
print(submatrix)

輸出結果如下:


[[5 6]
 [8 9]]

2、修改切片

修改切片中的元素可以直接對切片進行賦值操作。


matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
submatrix = matrix[1:3, 1:3]
submatrix[1][1] = 0
print(matrix)

輸出結果如下:


[[1 2 3]
 [4 5 0]
 [7 8 9]]

四、元素操作

可以對二維數組中的每個元素進行操作,如求和、取最大值等。

1、求和

可以使用numpy的sum函數對二維數組中的元素進行求和。


matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(np.sum(matrix))

輸出結果為:


45

2、取最大值和最小值

可以使用numpy的max和min函數分別取二維數組中的最大值和最小值。


matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(np.max(matrix))
print(np.min(matrix))

輸出結果為:


9
1

3、計算平均值和標準差

可以使用numpy的mean和std函數分別計算二維數組中的平均值和標準差。


matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(np.mean(matrix))
print(np.std(matrix))

輸出結果為:


5.0
2.581988897471611

五、轉置和翻轉

可以使用numpy的transpose和flip函數對二維數組進行轉置和翻轉操作。

1、轉置

可以使用transpose函數進行轉置操作。


matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(np.transpose(matrix))

輸出結果為:


[[1 4 7]
 [2 5 8]
 [3 6 9]]

2、翻轉

可以使用flip函數進行翻轉操作。


matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(np.flip(matrix))

輸出結果為:


[[9 8 7]
 [6 5 4]
 [3 2 1]]

六、刪除行和列

可以使用numpy的delete函數對二維數組中的行和列進行刪除操作。

1、刪除行

可以使用delete函數刪除指定行。


matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
submatrix = np.delete(matrix, 1, axis=0)
print(submatrix)

輸出結果為:


[[1 2 3]
 [7 8 9]]

2、刪除列

可以使用delete函數刪除指定列。


matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
submatrix = np.delete(matrix, 1, axis=1)
print(submatrix)

輸出結果為:


[[1 3]
 [4 6]
 [7 9]]

七、篩選元素

可以使用布爾數組對二維數組進行篩選操作。

1、篩選

可以使用布爾數組對二維數組進行篩選操作。


matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
bool_arr = matrix > 5
submatrix = matrix[bool_arr]
print(submatrix)

輸出結果為:


[6 7 8 9]

2、選擇滿足條件的元素

可以使用where函數選擇滿足條件的元素。


matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
submatrix = np.where(matrix > 5, matrix, 0)
print(submatrix)

輸出結果為:


[[0 0 0]
 [0 0 6]
 [7 8 9]]

總結

本文介紹了如何創建、遍歷、切片操作、元素操作、轉置和翻轉、刪除行和列、篩選元素等對二維數組進行管理和操作的技巧,希望對大家有所幫助。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/275974.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-17 19:38
下一篇 2024-12-17 19:38

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • 蝴蝶優化演算法Python版

    蝴蝶優化演算法是一種基於仿生學的優化演算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化演算法Python版…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • 使用vscode建立UML圖的實踐和技巧

    本文將重點介紹在使用vscode在軟體開發中如何建立UML圖,並且給出操作交互和技巧的指導。 一、概述 在軟體開發中,UML圖是必不可少的重要工具之一。它為軟體架構和各種設計模式的…

    編程 2025-04-29

發表回復

登錄後才能評論