程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python3高級特性(一)之切片

編輯:Python

目錄

基本概念

切片操作符中的數字

切片操作符中的負數

元組的切片操作

字符串的切片操作


基本概念

切片操作符是列表名稱後跟一個方括號,方括號中有一對可選的數字,並用冒號分割。注意這與你使用的索引操作符十分相似。記住數字是可選的,而冒號是必須的。

 注意:也可以用相同的方法訪問元組和字符串。

我們先創建一個0-99的數列:

L = list(range(100))

L為:[0, 1, 2, 3, ..., 99]

可以通過切片輕松取出某一段數列。

前10個數: L[:10]

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

前11-20個數: L[10:20]

[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

後10個數: L[-10:]

[90, 91, 92, 93, 94, 95, 96, 97, 98, 99]

切片操作符中的數字

第一個數(冒號之前)表示切片開始的位置,

第二個數(冒號之後)表示切片結束的位置,

第三個數(冒號之後)表示切片間隔數。

如果不指定第一個數,Python就從序列首開始。

如果沒有指定第二個數,則Python會停止在序列尾。

注意,返回的序列從開始位置開始 ,剛好在結束位置之前結束。

即開始位置是包含在序列切片中的,而結束位置被排斥在切片外。

【左開有閉】

例如:

列表:shoplist=[0,1,2,3,4,5,6,7,8],shoplist[1:3]返回:

從位置1開始,包括位置2,但是停止在位置3的一個序列切片,因此返回一個含有兩個項目的切片。shoplist[:]返回:整個序列的拷貝。

shoplist[::3]返回:位置3,位置6,位置9…的序列切片。

切片操作符中的負數

負數用在從序列尾開始計算的位置。

shoplist[:-1]返回:除了最後一個項目外包含所有項目的序列切片,

shoplist[::-1]返回:倒序序列切片。

元組的切片操作

tuple也是一種list,唯一區別是tuple不可變。

因此,tuple也可以用切片操作,只是操作的結果仍是tuple:

(0, 1, 2, 3, 4, 5)[:3]

結果為:(0, 1, 2)

字符串的切片操作

字符串'xxx'也可以看成是一種list,每個元素就是一個字符。

因此,字符串也可以用切片操作,只是操作結果仍是字符串:

'ABCDEFG'[:3]

結果為:'ABC'

'ABCDEFG'[::2]

結果為:'ACEG'

在很多編程語言中:

針對字符串提供了很多各種截取函數(例如,substring),其實目的就是對字符串切片。

Python沒有針對字符串的截取函數,只需要切片一個操作就可以完成,非常簡單。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved