国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python切片操作深入詳解

2020-02-15 22:34:11
字體:
來源:轉載
供稿:網友

本文實例講述了Python切片操作。分享給大家供大家參考,具體如下:

我們基本上都知道Python的序列對象都是可以用索引號來引用的元素的,索引號可以是正數由0開始從左向右,也可以是負數由-1開始從右向左。

在Python中對于具有序列結構的數據來說都可以使用切片操作,需注意的是序列對象某個索引位置返回的是一個元素,而切片操作返回是和被切片對象相同類型對象的副本。

如下面的例子,雖然都是一個元素,但是對象類型是完全不同的:

>>> alist = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> alist[0]0>>> alist[0:1][0]

通常一個切片操作要提供三個參數 [start_index:  stop_index:  step]

start_index是切片的起始位置
stop_index是切片的結束位置(不包括)
step可以不提供,默認值是1,步長值不能為0,不然會報錯ValueError。

當 step 是正數時,以list[start_index]元素位置開始, step做為步長到list[stop_index]元素位置(不包括)為止,從左向右截取,

start_index和stop_index不論是正數還是負數索引還是混用都可以,但是要保證 list[stop_index]元素的【邏輯】位置

必須在list[start_index]元素的【邏輯】位置右邊,否則取不出元素。

比如下面的幾個例子都是合法的:

>>> alist = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> alist[1:5][1, 2, 3, 4]>>> alist[1:-1][1, 2, 3, 4, 5, 6, 7, 8]>>> alist[-8:6][2, 3, 4, 5]

當 step 是負數時,以list[start_index]元素位置開始, step做為步長到list[stop_index]元素位置(不包括)為止,從右向左截取,

start_index和stop_index不論是正數還是負數索引還是混用都可以,但是要保證 list[stop_index]元素的【邏輯】位置

必須在list[start_index]元素的【邏輯】位置左邊,否則取不出元素。

比如下面的幾個例子都是合法的:

>>> alist = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> alist[-1: -5: -1][9, 8, 7, 6]>>> alist[9: 5: -1][9, 8, 7, 6]>>> alist[-1:1:-1][9, 8, 7, 6, 5, 4, 3, 2]>>> alist[6:-8:-1][6, 5, 4, 3]

假設list的長度(元素個數)是length, start_index和stop_index在符合虛擬的邏輯位置關系時,

start_index和stop_index的絕對值是可以大于length的。比如下面兩個例子:

>>> alist = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> alist[-11:11][0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> alist[11:-11:-1][9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

另外start_index和stop_index都是可以省略的,比如這樣的形式 alist[:]

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 普兰店市| 天峻县| 探索| 和顺县| 信阳市| 体育| 南川市| 都匀市| 武川县| 基隆市| 开原市| 南城县| 资源县| 洛川县| 阜康市| 罗江县| 贵阳市| 三台县| 和林格尔县| 富平县| 松原市| 凤凰县| 南和县| 商南县| 虎林市| 德昌县| 长治县| 黄冈市| 盈江县| 航空| 福安市| 兰州市| 平阴县| 新野县| 乐业县| 明溪县| 白银市| 重庆市| 汾西县| 宁化县| 武川县|