一、切片的基本概念
Python的數組切片是指對可迭代對象(如列表或元組)的一部分進行訪問的方法,這一部分也稱為切片。最簡單的切片由起始索引、終止索引和步進值三部分組成,它們之間用冒號(:)隔開。 切片可以對數組的元素進行選擇、複製、刪除等多種操作,是python編程中重要的一部分。
示例代碼如下:
arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(arr[2:7:2]) # 輸出:[2, 4, 6]
上述代碼中,arr[2:7:2] 將從索引2開始(包括索引2),到索引7結束(不包括索引7),並且每次跨過一個元素獲取其中的所有元素。
二、切片的基本語法
切片的基本語法如下:
arr[start:stop:step]
- start: 起始索引,包含該元素
- stop: 終止索引,不包含該元素
- step: 步進值,控制選擇元素的間隔,默認為1
如果start和stop都省略了,那麼將返回原始數組的一份拷貝。如果step為負數,那麼start和stop的默認值將被反轉。具體語法及其解釋請看下面的示例代碼。
示例代碼如下:
arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 演示start和stop的默認值 print(arr[:]) # 輸出:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(arr[2:]) # 輸出:[2, 3, 4, 5, 6, 7, 8, 9] print(arr[:3]) # 輸出:[0, 1, 2] print(arr[-4:]) # 輸出:[6, 7, 8, 9] # 演示step的默認值為1 print(arr[2:7]) # 輸出:[2, 3, 4, 5, 6] # 演示step為負數 print(arr[::-1]) # 輸出:[9, 8, 7, 6, 5, 4, 3, 2, 1, 0] print(arr[8:3:-1]) # 輸出:[8, 7, 6, 5, 4]
三、常見切片用法
1. 利用切片修改元素
切片不僅可以選取數組中的元素,也可以使用等號賦值的方式來進行原地修改。
示例代碼如下:
arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 將第2到第5之間的元素修改為10 arr[2:5] = [10, 10, 10] print(arr) # 輸出:[0, 1, 10, 10, 10, 5, 6, 7, 8, 9]
2. 使用步進值跳過一些元素
步進值不僅可以是正整數,還可以是負整數,可以用來反轉數組。
示例代碼如下:
arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 步進值為2,選取索引值為0、2、4、6、8的元素 print(arr[::2]) # 輸出:[0, 2, 4, 6, 8] # 步進值為-1,反轉數組 print(arr[::-1]) # 輸出:[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
3. 用切片刪除一些元素
使用切片刪除元素有三種方法:直接把切片賦值為空列表、調用del語句或使用del方法。
示例代碼如下:
arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 直接把切片賦為空列表 arr[2:5] = [] print(arr) # 輸出:[0, 1, 5, 6, 7, 8, 9] # 調用del語句 del arr[2:5] print(arr) # 輸出:[0, 1, 8, 9] # 使用del方法 arr.__delitem__(slice(0, 2)) print(arr) # 輸出:[8, 9]
4. 使用切片複製一個列表
如果需要複製一個列表,可以使用切片表達式[:]來完成。注意:arr.copy()和list(arr)也可以完成此功能。
示例代碼如下:
arr1 = [0, 1, 2, 3, 4] arr2 = arr1[:] arr3 = arr1.copy() arr4 = list(arr1) print(arr2) # 輸出:[0, 1, 2, 3, 4] print(arr3) # 輸出:[0, 1, 2, 3, 4] print(arr4) # 輸出:[0, 1, 2, 3, 4]
四、總結
本文詳細介紹了Python數組切片的基本概念和語法,並且演示了一些常見的切片用法。希望本文能夠對Python編程中使用切片這一關鍵技術的讀者有所幫助。
原創文章,作者:EKLXI,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/332033.html