亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python切片操作方法的實(shí)例總結(jié)

 更新時(shí)間:2022年06月24日 09:13:18   作者:rap小浣熊  
所謂切片就是在某個(gè)數(shù)據(jù)里提取需要的部分,提取到的是某個(gè)索引下的值,或者索引區(qū)間的值,下面這篇文章主要給大家介紹了關(guān)于python切片操作方法的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

文章參考自:link.

前言

最近學(xué)習(xí)python切片,時(shí)而醍醐灌頂時(shí)而云里霧里,今天終于弄清楚了 python切片 里面自己經(jīng)常疑惑的地方,記錄一下,方便以后查看。

一、切片的2種索引方向

如果掌握切片方法,就能對(duì)所有目標(biāo)值進(jìn)行隨意切取,然鵝可切片的目標(biāo)對(duì)象有2種索引方向:正索引、負(fù)索引。如下圖所示,
以 a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]舉例:

這個(gè)字符串 a 的正索引是由左往右,頭下標(biāo)是0,尾下標(biāo)是9;

它的負(fù)索引是由右往左,頭下標(biāo)是-1,尾下標(biāo)是-10.

二、切片的操作方式

要想成功完成切片,那么需要包含2個(gè) ‘ :’符號(hào),以及3個(gè)參數(shù),分別是start_index、end_index、step,一個(gè)完整的切片表達(dá)式如下所示:

切片操作基本表達(dá)式:object[start_index : end_index : step]

1、開(kāi)始索引 start_index :表示的是開(kāi)始切片的位置,并且切片結(jié)果包含該索引下的值;

2、終止索引 end_index: 表示的結(jié)束切片的位置,并且切片結(jié)果不包含該索引下的值;

3、步長(zhǎng)step :表示切取的步長(zhǎng)值,可正可負(fù),step為正時(shí),索引方向?yàn)檎较颍瑂tep為負(fù)時(shí),索引方向?yàn)樨?fù)方向,當(dāng)step值省略時(shí),默認(rèn)取值為1。

切記:步長(zhǎng)正負(fù)決定切片方向,非常重要??!

當(dāng)未寫(xiě)start_index、end_index的值時(shí),都默認(rèn),從索引的端點(diǎn)處開(kāi)始

三、一些基本操作

以下舉例對(duì)象都是列表 a = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

1、切取單個(gè)對(duì)象

切取索引為3的位置所對(duì)應(yīng)的值:

2、切取整個(gè)列表

不填寫(xiě)值的時(shí)候,從端點(diǎn)處開(kāi)始

3、步長(zhǎng)step正負(fù)值 決定索引方向的一些案例

step=1,由左向右,包含start_index =1索引本身包括的值,不包括終止索引end_index =5本身包含的值。

// An highlighted block
>>> a [1: 5: ]
[1, 2, 3, 4]
>>> # 步長(zhǎng)step = 1,默認(rèn)值,由左往右正索引方向

step = -1,由右向左,依舊不包含終止索引=5本身所包含的值

// An highlighted block
>>> a [ : 5 :-1]
[9, 8, 7, 6]
>>> # 步長(zhǎng)step= -1,負(fù)索引,
起始索引沒(méi)寫(xiě),表示從端點(diǎn)開(kāi)始由右往左,終止索引是5

索引方向相互矛盾,值為空

// An highlighted block
>>> a [7 : 2 ]
[]
>>> # 這是因?yàn)槠鹗妓饕秊?終止索引為2,方向是由右往左,
>但是步長(zhǎng)step默認(rèn)是1,表示正索引,由左往右,兩者方向矛盾值為空

索引值為負(fù)的情況,一切以step值正負(fù)為準(zhǔn),決定索引方向!

// An highlighted block
>>> a [ -6 : :]
[4, 5, 6, 7, 8, 9]
>>> #起始于 start_index = -6,步長(zhǎng)為1,由左向右

根據(jù)前面所學(xué),切片結(jié)果包含起始索引位置的值,但不包含終止索引位置的值,這種情況指的是給定了具體的終止索引,如下:

// An highlighted block
>>> #給了明確的終止索引位置,那結(jié)果就不包含終止索引本身的值
如下不包含end_index = 5位置上的值
>>> a [ : 5 : -1 ]
[9, 8, 7, 6]

這個(gè)案列是包含了終止索引位置的值,參照上條加入對(duì)比。

也就是說(shuō),指定了具體的終止索引位置,那么取值不包括這個(gè)位置上的值,如果沒(méi)指定,默認(rèn)終止索引就在端點(diǎn)處,那么取值包括該位置的值

// An highlighted block
>>> a [ 5: : -1]
[5, 4, 3, 2, 1, 0]
>>> #沒(méi)有指定具體的終止索引位置,所以默認(rèn)終止于端點(diǎn)處,
因此包含端點(diǎn)處的值,即0

四、進(jìn)階操作

1.修改某個(gè)元素值

直接將修改后的值帶入進(jìn)索引里面

// An highlighted block
>>> a [ 2 ] = [ 'A' ]
>>> print (a)
[0, 1, ['A'], 3, 4, 5, 6, 7, 8, 9]
 #直接在需要修改的索引處賦值,將索引值 = 2的值修改為['A']

2.替換元素值

是從起始索引開(kāi)始,包含起始索引本身的值,將數(shù)值插入,然后再將終止索引本身及以后的值,緊跟在插入數(shù)值后面就行了,不包含終止索引本身。下面以替代索引3和5之間的元素為案例分析

包含 “起始索引=3 ”的元素本身,不包含”終止索引 = 5“的元素本身,元素個(gè)數(shù)應(yīng)該是2個(gè)。

(1)給定替換的元素個(gè)數(shù) = 2

// An highlighted block
>>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print (a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a [ 3: 5] = [ 'b', 'c']
>>> print (a)
[0, 1, 2, 'b', 'c', 5, 6, 7, 8, 9]
>>> #替代寫(xiě)法,將起始索引本身的值到終止索引前一個(gè)索引之間的值進(jìn)行替換,
>終止索引本身的數(shù)值不替換

(2)給定替換的元素個(gè)數(shù) > 2個(gè)

// An highlighted block
>>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print (a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a [ 3: 5 ] = [ 'b', 'c', 'd', 'e']
>>> print (a)
[0, 1, 2, 'b', 'c', 'd', 'e', 5, 6, 7, 8, 9]
>>>  #插入寫(xiě)法,從開(kāi)始索引為3的地方帶入插入值,帶入插入數(shù)值后,
將索引值為5的值本身及其后面的值緊跟著排列在后就行

(3)給定替換的元素個(gè)數(shù) < 2。

// An highlighted block
>>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print (a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a [ 3: 5 ] = [ 'b' ]
>>> print (a)
[0, 1, 2, 'b', 5, 6, 7, 8, 9]
>>> # 替換了起始索引 = 3本身的值,
>終止索引=5及其以后的值都緊跟在插入值后面,
>索引=4處的值伴隨著索引 = 3的值一起被替換掉了

3、插入元素值

切片這里,最困惑的就是沒(méi)理解替換元素值、和插入元素值兩者的區(qū)別,現(xiàn)在恍然大悟,替換的原理如上所述,接下來(lái)插入元素值其實(shí)很簡(jiǎn)單,只要保持,終止索引、起始索引是同一個(gè)值再進(jìn)行賦值就可以了

(1)插入一個(gè)元素

// An highlighted block
>>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print (a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a [6:6 ] = ['c', 'd', 'e', 'f','g']
>>> print (a)
[0, 1, 2, 3, 4, 'b', 'c', 'd', 'e', 'f', 'g', 5, 6, 7, 8, 9]
>>> #插入多個(gè)元素,其他原本的元素值和個(gè)數(shù)都不發(fā)生改變

(2)插入多個(gè)元素,甚至字符串

// An highlighted block
>>> a = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print (a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a [ 3: 3] = [ 'hello , world!']
>>> print (a)
[0, 1, 2, 'hello , world!', 3, 4, 5, 6, 7, 8, 9]

4、選擇切片位置

(1)取索引值為偶數(shù)的位置進(jìn)行切片

// An highlighted block
>>> a = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print(a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a [ : : 2]
[0, 2, 4, 6, 8]
>>> # 選取索引值為偶數(shù)的位置進(jìn)行切片

(2)選取索引值為奇數(shù)的位置進(jìn)行切片

// An highlighted block
>>> a = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print(a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a [ 1: :2]
[1, 3, 5, 7, 9]
>>> # 選取索引值為奇數(shù)的位置進(jìn)行切片

綜上,就是今天學(xué)習(xí)python切片的小結(jié),記錄完成!

總結(jié)

到此這篇關(guān)于python切片操作方法的文章就介紹到這了,更多相關(guān)python切片操作方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Tensor和NumPy相互轉(zhuǎn)換的方法

    Tensor和NumPy相互轉(zhuǎn)換的方法

    本文主要介紹了Tensor和NumPy相互轉(zhuǎn)換的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • python 實(shí)用工具狀態(tài)機(jī)transitions

    python 實(shí)用工具狀態(tài)機(jī)transitions

    這篇文章主要介紹了python 實(shí)用工具狀態(tài)機(jī)transitions的使用,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-11-11
  • python中的插入排序的簡(jiǎn)單用法

    python中的插入排序的簡(jiǎn)單用法

    在本篇內(nèi)容里小編給各位分享的是一篇關(guān)于python中的插入排序的簡(jiǎn)單用法,有興趣的朋友們可以參考學(xué)習(xí)下。
    2021-01-01
  • Python Flask RESTful使用demo演示

    Python Flask RESTful使用demo演示

    這篇文章主要為大家介紹了Python Flask RESTful使用demo演示,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • keras中epoch,batch,loss,val_loss用法說(shuō)明

    keras中epoch,batch,loss,val_loss用法說(shuō)明

    這篇文章主要介紹了keras中epoch,batch,loss,val_loss用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • 解讀什么是npy文件,為什么要用npy格式保存文件

    解讀什么是npy文件,為什么要用npy格式保存文件

    這篇文章主要介紹了什么是npy文件,為什么要用npy格式保存文件這個(gè)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 在Tensorflow中實(shí)現(xiàn)梯度下降法更新參數(shù)值

    在Tensorflow中實(shí)現(xiàn)梯度下降法更新參數(shù)值

    今天小編就為大家分享一篇在Tensorflow中實(shí)現(xiàn)梯度下降法更新參數(shù)值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • 10個(gè)python爬蟲(chóng)入門(mén)實(shí)例(小結(jié))

    10個(gè)python爬蟲(chóng)入門(mén)實(shí)例(小結(jié))

    這篇文章主要介紹了10個(gè)python爬蟲(chóng)入門(mén)實(shí)例(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • opencv python 對(duì)指針儀表讀數(shù)識(shí)別的兩種方式

    opencv python 對(duì)指針儀表讀數(shù)識(shí)別的兩種方式

    這篇文章主要介紹了opencv python 對(duì)指針儀表讀數(shù)識(shí)別的兩種方式,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • 淺談Python3識(shí)別判斷圖片主要顏色并和顏色庫(kù)進(jìn)行對(duì)比的方法

    淺談Python3識(shí)別判斷圖片主要顏色并和顏色庫(kù)進(jìn)行對(duì)比的方法

    這篇文章主要介紹了淺談Python3識(shí)別判斷圖片主要顏色并和顏色庫(kù)進(jìn)行對(duì)比的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10

最新評(píng)論