新聞中心
一、數(shù)組的定義與基本操作
數(shù)組是一種數(shù)據(jù)結(jié)構(gòu),可以用來存儲(chǔ)一系列的數(shù)據(jù),它們可以是數(shù)字、字符串甚至是對(duì)象。在Python中,可以使用列表(list)、元組(tuple)以及 NumPy 模塊中的數(shù)組(array)來定義數(shù)組。

成都創(chuàng)新互聯(lián)始終堅(jiān)持【策劃先行,效果至上】的經(jīng)營理念,通過多達(dá)10余年累計(jì)超上千家客戶的網(wǎng)站建設(shè)總結(jié)了一套系統(tǒng)有效的全網(wǎng)整合營銷推廣解決方案,現(xiàn)已廣泛運(yùn)用于各行各業(yè)的客戶,其中包括:效果圖設(shè)計(jì)等企業(yè),備受客戶贊許。
列表是最常用的數(shù)組類型,它可以用 [ ] 或 list( ) 來創(chuàng)建。列表中的每個(gè)元素都有一個(gè)對(duì)應(yīng)的位置,我們可以通過下標(biāo)來訪問和操作元素,下標(biāo)從 0 開始計(jì)數(shù)。下面是一個(gè)創(chuàng)建列表、訪問元素和修改元素的例子:
arr = [1, 2, 3, 4, 5] # 創(chuàng)建列表 print(arr[0]) # 訪問元素 arr[0] = 0 # 修改元素 print(arr)
元組和列表很相似,但它是不可變的,也就是說它的值一旦被確定就不能再改變。元組可以用 ( ) 或 tuple( ) 來創(chuàng)建,下面是一個(gè)訪問元素的例子:
arr = (1, 2, 3, 4, 5) # 創(chuàng)建元組 print(arr[0]) # 訪問元素
NumPy庫是Python中專門用于數(shù)學(xué)運(yùn)算的庫之一,它提供了一種高性能的數(shù)組類型,可以用于替代Python中常規(guī)的列表。這種數(shù)組被稱為NumPy數(shù)組,或者簡稱為ndarray。下面是一個(gè)創(chuàng)建NumPy數(shù)組并訪問元素的例子:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) # 創(chuàng)建NumPy數(shù)組 print(arr[0]) # 訪問元素
二、數(shù)組的遍歷和復(fù)制
除了訪問、修改元素外,我們還經(jīng)常需要對(duì)整個(gè)數(shù)組進(jìn)行遍歷操作,Python中數(shù)組遍歷可以使用for循環(huán),下面是一個(gè)列表遍歷的例子:
arr = [1, 2, 3, 4, 5]
for i in arr:
print(i)
有時(shí)我們需要將數(shù)組復(fù)制一份,以便獨(dú)立操作,可以使用切片(slice)或者 copy() 方法完成。切片可以很方便地對(duì)列表和元組進(jìn)行復(fù)制和截取,此時(shí)返回的結(jié)果是一個(gè)新的列表或元組。下面是一個(gè)列表復(fù)制和截取的例子:
arr = [1, 2, 3, 4, 5] new_arr = arr[:] # 復(fù)制整個(gè)數(shù)組 sub_arr = arr[1:3] # 截取數(shù)組
使用 copy() 方法可以對(duì)列表進(jìn)行復(fù)制,但又分為淺拷貝和深拷貝兩種方式。淺拷貝只復(fù)制了原始列表的引用,對(duì)新列表修改會(huì)影響到原始列表。而深拷貝則復(fù)制了整個(gè)列表,新列表與原始列表之間沒有任何關(guān)聯(lián)。下面是一個(gè)淺拷貝和深拷貝的例子:
arr = [1, 2, 3, [4, 5]] shallow_arr = arr.copy() # 淺拷貝 deep_arr = copy.deepcopy(arr) # 深拷貝 shallow_arr[3][0] = 0 # 修改淺拷貝后的數(shù)組 print(arr) # 原始數(shù)組被修改 deep_arr[3][0] = 0 # 修改深拷貝后的數(shù)組 print(arr) # 原始數(shù)組沒有被修改
三、高級(jí)數(shù)組操作
1. 數(shù)組的連接和重復(fù)
數(shù)組之間可以進(jìn)行連接和重復(fù)操作。如果想將兩個(gè)數(shù)組合并為一個(gè)數(shù)組,可以使用 + 運(yùn)算符或 extend() 方法完成,下面是一個(gè)數(shù)組連接的例子:
arr1 = [1, 2, 3] arr2 = [4, 5, 6] new_arr = arr1 + arr2 # 連接兩個(gè)數(shù)組 arr1.extend(arr2) # 使用 extend() 方法連接兩個(gè)數(shù)組
如果想重復(fù)一個(gè)數(shù)組,可以使用 * 運(yùn)算符或者 repeat() 方法完成,下面是一個(gè)數(shù)組重復(fù)的例子:
arr1 = [1, 2, 3] new_arr = arr1 * 3 # 重復(fù)一個(gè)數(shù)組 arr1 = np.array([1, 2, 3]) new_arr = np.repeat(arr1, 3) # 使用repeat()方法重復(fù)數(shù)組
2. 數(shù)組的排序和搜索
對(duì)數(shù)組進(jìn)行排序和搜索是使用頻率比較高的操作。Python內(nèi)置的 sorted() 函數(shù)可以對(duì)列表進(jìn)行排序,而 NumPy 模塊中的 sort() 方法可以對(duì)數(shù)組進(jìn)行排序。下面是一個(gè)列表排序和數(shù)組排序的例子:
arr1 = [3, 6, 1, 2, 5] new_arr = sorted(arr1) # 對(duì)列表進(jìn)行排序 arr2 = np.array([3, 6, 1, 2, 5]) new_arr = np.sort(arr2) # 對(duì)數(shù)組進(jìn)行排序
如果想查找一個(gè)元素在數(shù)組中的位置,可以使用 index() 方法。但如果要查找多個(gè)元素,就需要使用 NumPy 模塊中的 where() 函數(shù)。where() 函數(shù)可以在數(shù)組中查找滿足條件的元素,返回一個(gè)元組,元組中包含了滿足條件的元素的下標(biāo),下面是一個(gè)查找元素和搜索數(shù)組的例子:
arr = [1, 2, 3, 4, 5] index = arr.index(3) # 查找一個(gè)元素在數(shù)組中的位置 arr = np.array([1, 2, 3, 4, 5]) new_arr = np.where(arr > 3) # 搜索數(shù)組中滿足條件的元素
3. 多維數(shù)組的操作
Python中的 NumPy 模塊提供了對(duì)多維數(shù)組的支持,我們可以使用 NumPy 模塊來操作、組合多維數(shù)組。下面是一個(gè)二維數(shù)組創(chuàng)建以及按照列或行合并的例子:
arr = np.array([[1, 2, 3], [4, 5, 6]]) # 創(chuàng)建二維數(shù)組 new_arr = np.concatenate((arr, arr), axis=1) # 按照列合并兩個(gè)數(shù)組 new_arr = np.concatenate((arr, arr), axis=0) # 按照行合并兩個(gè)數(shù)組
四、總結(jié)
本文詳細(xì)地介紹了 Python 中定義數(shù)組的多個(gè)方面,包括數(shù)組的定義與基本操作、數(shù)組的遍歷和復(fù)制、高級(jí)數(shù)組操作等。數(shù)組是數(shù)據(jù)結(jié)構(gòu)中很重要的一種類型,Python 內(nèi)置的列表和元組,以及 NumPy 模塊中的數(shù)組都可以用來定義數(shù)組,通過這篇文章的介紹,我們可以更好地了解和掌握 Python 中定義數(shù)組的方法和技巧。
分享文章:創(chuàng)新互聯(lián)Python教程:Python中定義數(shù)組的多方位
URL鏈接:http://fisionsoft.com.cn/article/dhdsdsd.html


咨詢
建站咨詢
