最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中切片的詳細操作篇

 更新時間:2022年08月30日 09:29:05   作者:Zombie_QP  
在Python中切片(slice)是對序列型對象(如list, string, tuple)的一種高級索引方法,下面這篇文章主要給大家介紹了關于Python中切片操作的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

Python中的切片知識.

在Python中,切片(slice)是對序列型對象(如list, string, tuple)的一種高級索引方法。 普通索引只取出序列中 一個下標 對應的元素,而切片取出序列中 一個范圍 對應的元素,這里的范圍不是狹義上的連續(xù)片段。通俗一點就是在一定范圍里面.用刀切出一部分,達到自己需要的一部分.

一、切片的索引方式

以 a = [ 1,2,3,4,5,6,7,8,9] 為例,正索引和負索引

二、索引的一般方式

一個完整的切片是包含三個參數(shù)和兩個冒號" : " ,用于分隔三個參數(shù)(start_index、end_index、step)。當只有一個“:”時,默認第三個參數(shù)step=1;當一個“:”也沒有時,start_index=end_index,表示切取start_index指定的那個元素。

切片操作的基本表達式:object[start:end:step]

start:切片的起始位置,如果沒有值的話從頭開始.

end:切片的結束位置,但不包含end(前閉后開),如果沒有值的話表示切割到結束為止.

step:步長,默認取值為1,如果步長為正數(shù)的情況表示從左往右,反正若為負數(shù)則表示從右往左. step的正負決定切的方向,這一點需要尤為注意!!!

三、 切片操作的 詳細切法

1.切割單個值

>> a = [1,2,3,4,5,6]
>>> a[0] ##單個數(shù),代表位數(shù),第0位就是a里面的第一位
1
>>> a[5]##a里面的第5位,注意要從0作為第一位開始數(shù)
6

2.切割完整對象

>>> b=[6,3,6,7,8,2,5,4]
>>> b[:] ##單獨一個冒號,代表從頭取到尾,步長默認為1
[6, 3, 6, 7, 8, 2, 5, 4]
>>> b[::]##單獨兩個冒號一樣代表從頭取到尾,步長默認為1
[6, 3, 6, 7, 8, 2, 5, 4]
>>> b[::-1]##注意,兩個冒號后面是步長,步長為1,故應從右往左取
[4, 5, 2, 8, 7, 6, 3, 6]

3.當start和end全部為正數(shù)時.

>>> a 
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
>>> a[1:6] ##默認步長為1,從左往右,注意前閉后開
[1, 2, 3, 4, 5] 
>>> a[1:6:-1] 
[] ## 當取值的大小方向與步長的方向沖突時,返回值是空.
>>> a[6:1:-1] 
[6, 5, 4, 3, 2] 
>>> a[:6] ## 沒有star代表從頭開始取
[0, 1, 2, 3, 4, 5] 
>>> a[:6:-1] 
[9, 8, 7] 
>>> a[6:] 
[6, 7, 8, 9] 
>>> a[6::-1] 
[6, 5, 4, 3, 2, 1, 0] 

4.當start和end全部取負數(shù)的時.

>>> a 
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
>>> a[:-6] ## -6意思是從右往左數(shù)的第六位,故第六位是4,然后默認步長為1(從右往左),star未寫,故從頭開始取到4
[0, 1, 2, 3] 
>>> a[-1:-6] 
[]
>>> a[-1:-6:-1] 
[9, 8, 7, 6, 5] 
>>> a[-6:-1] ## 這個是從-6取到-1,步長為1,意思是從右往左數(shù)第6位到從右往左的第一位
[4, 5, 6, 7, 8] 
>>> a[:-6:-1] ## 這個是從0取到-6,步長為-1,因為開頭是冒號,故起點被隱藏了
[9, 8, 7, 6, 5] 
>>> a[-6:] 
[4, 5, 6, 7, 8, 9] 
>>> a[-6::-1] ## 注意這個不等于[-6:-1],區(qū)別是這里是::(兩個冒號),兩個冒號后連接的是步長
[4, 3, 2, 1, 0]

5.start和end是正負混合情況時

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

6.連續(xù)的切片操作

>>> a 
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
>>> a[:8][2:5][-1:] ## [:8]就是0取到8,在從其中取2到5,最后取-1位
[4] 
a[:8] ---- [0,1,2,3,4,5,6,7] 
[0,1,2,3,4,5,6,7][2:5]----[2,3,4] 
[2,3,4][-1:] ----[4] 

7.切片中的三個參數(shù)為表達式

>>> a 
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
>>> a[1+2:2*3:7%2]  ## 思路一樣,運算出來,繼續(xù)切
[3, 4, 5] 

8.切片可以操作其他的對象

>>> t = (1,2,3,4,5) 
>>> t[1:3] 
(2, 3) 
>>> s = "ACDRF" ##切片在字母上也是可以使用的,所以說切片很強大
>>> s[1:3] 
'CD' 
>>> (0, 1, 2, 3, 4, 5)[:3]#元組的切片操作
>>> (0, 1, 2)
>>> for i in range(0,100): 
... print(i) 
... 
>>> for i in range(0,100)[2::3][-10:]: ## 意思是從第二位開始取,步長為3,[-10]則是從倒數(shù)10位開始取,意思是去末尾10位.
... print(i) 
... 
71
74
77
80
83
86
89
92
95
98

補充:擴展切片

早期的Python解釋器僅支持上述a[start:stop]形式的基本切片,后來加入了下面要介紹的切片形式,擴展切片的名稱也流傳下來,實際上不用擔心,這早已是Python所支持的標準語法。

擴展切片指的是這樣的切片形式:a[start:stop:step],其中step是一個非零整數(shù),即比簡單切片多了調整步長的功能,此時切片的行為可概括為:從start對應的位置出發(fā),以step為步長索引序列,直至越過stop對應的位置,且不包括stop本身。事實上,簡單切片就是step=1的擴展切片的特殊情況。需要詳細解釋的是step分別為正數(shù)和負數(shù)的兩種情況。

step為正數(shù)

當step為正數(shù)時,切片行為很容易理解,start和stop的截斷和缺省規(guī)則也與簡單切片完全一致:

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

step為負數(shù)

當step為負數(shù)時,切片將其解釋為從start出發(fā)以步長|step|逆序索引序列,此時,start和stop的截斷依然遵循前述規(guī)則,但缺省發(fā)生一點變化,因為我們說過,在缺省的情況下,Python的行為是盡可能取最大區(qū)間,此時訪問是逆序的,start應盡量取大,stop應盡量取小,才能保證區(qū)間最大,因此:

按照擴充索引范圍的觀點, start的缺省值是 無窮大(?), stop的缺省值是 無窮小(?)

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

總結:

? 1.如果進行切片操作的時候,超出下標不會報錯

? 2.如果切片操作的時候方向相互矛盾的話,不會報錯,返回為空

? 3.在python中進行反向輸出列表

? 第一種: 循環(huán) 第二種 :[::-1] 第三種:reverse()

到此這篇關于Python中切片詳細操作的文章就介紹到這了,更多相關Python切片操作內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • windows+vscode穿越跳板機調試遠程代碼的圖文教程

    windows+vscode穿越跳板機調試遠程代碼的圖文教程

    本文通過圖文并茂的形式給大家介紹了windows+vscode穿越跳板機調試遠程代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • Python類型轉換的魔術方法詳解

    Python類型轉換的魔術方法詳解

    這篇文章主要介紹了Python類型轉換的魔術方法詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • 使用Python?文件讀取的多種方式(四種方式)

    使用Python?文件讀取的多種方式(四種方式)

    這篇文章主要介紹了Python?文件讀取的4種方式,主要有直接打開就讀方式,用read()打開,用readines()以及用readline()方式,每種方式通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-11-11
  • 介紹Python的Django框架中的QuerySets

    介紹Python的Django框架中的QuerySets

    這篇文章主要介紹了Python的Django框架中的QuerySets,QuerySet是Django中的一個內置對象列表,經常被用于數(shù)據(jù)庫操作,需要的朋友可以參考下
    2015-04-04
  • Python光學仿真學習衍射算法初步理解

    Python光學仿真學習衍射算法初步理解

    這篇文章主要為大家介紹了Python光學仿真學習中對衍射算法的初步理解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-10-10
  • Django項目如何給數(shù)據(jù)庫添加約束

    Django項目如何給數(shù)據(jù)庫添加約束

    這篇文章主要介紹了Django項目如何給數(shù)據(jù)庫添加約束,幫助大家更好的理解和學習使用Django框架,感興趣的朋友可以了解下
    2021-04-04
  • python實現(xiàn)一組典型數(shù)據(jù)格式轉換

    python實現(xiàn)一組典型數(shù)據(jù)格式轉換

    這篇文章主要為大家詳細介紹了python實現(xiàn)一組典型數(shù)據(jù)格式轉換,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Python文件目錄操作常用模塊的使用詳解

    Python文件目錄操作常用模塊的使用詳解

    Python中用于文件目錄操作的常用模塊有os, shutil,pathlib等。os模塊提供的就是各種 Python 程序與操作系統(tǒng)進行交互的接口。shutil模塊是對os模塊的補充,主要針對文件的拷貝、刪除、移動、壓縮和解壓操作
    2022-07-07
  • python實現(xiàn)測試工具(一)——命令行發(fā)送get請求

    python實現(xiàn)測試工具(一)——命令行發(fā)送get請求

    這篇文章主要介紹了python如何實現(xiàn)命令行發(fā)送get請求,幫助大家更好的利用python進行測試工作,感興趣的朋友可以了解下
    2020-10-10
  • 利用Anaconda簡單安裝scrapy框架的方法

    利用Anaconda簡單安裝scrapy框架的方法

    今天小編就為大家分享一篇利用Anaconda簡單安裝scrapy框架的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06

最新評論

耒阳市| 邹平县| 博兴县| 农安县| 定陶县| 太谷县| 民丰县| 湘潭市| 铁岭市| 和田县| 开原市| 东源县| 盐山县| 隆回县| 聂荣县| 榆社县| 始兴县| 乡宁县| 西平县| 华容县| 禹城市| 紫金县| 玉溪市| 长白| 马鞍山市| 芦山县| 长宁县| 漯河市| 当雄县| 河间市| 定安县| 德清县| 阿鲁科尔沁旗| 中西区| 田东县| 吉首市| 昆山市| 陕西省| 泰安市| 琼结县| 紫金县|