欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Python 切片語(yǔ)法

 更新時(shí)間:2019年06月10日 16:02:52   作者:劃水蛙  
Python的切片是特別常用的功能,主要用于對(duì)列表的元素取值。這篇文章主要介紹了詳解Python 切片語(yǔ)法,需要的朋友可以參考下

Python的切片是特別常用的功能,主要用于對(duì)列表的元素取值。使用切片也會(huì)讓你的代碼顯得特別Pythonic。

切片的主要聲明如下,假設(shè)現(xiàn)在有一個(gè)list,命名為alist:

alist = [0,1,2,3,4]

切片語(yǔ)法的基本形式為:

alist[start:stop:step]

可以看出對(duì)于列表的切片操作有三個(gè)參數(shù),分別為:

  • start:起始位置
  • stop:終止位置
  • step:步長(zhǎng)

三個(gè)參數(shù)都是可選參數(shù),意義為list的下標(biāo),即index。step參數(shù)默認(rèn)值為1。表現(xiàn)形式有以下幾種:

alist[start:stop]
alist[start:]
alist[:stop]
alist[:]

  • 第一種方式指定了start與stop參數(shù),從start指定的下標(biāo)開(kāi)始取alist的元素,直到stop-1,例如 a[1:3] 的結(jié)果為 [1,2] 。
  • 第二種方式會(huì)從start指定的下標(biāo)開(kāi)始,取alist剩余元素。例如 a[1:] 會(huì)得到 [1,2,3,4] 。
  • 第三種方式會(huì)從alist的開(kāi)始,取list元素,直到下標(biāo)為stop-1,例如 a[:4] 會(huì)得到結(jié)果 [0,1,2,3]
  • 第四種方式?jīng)]有指定start與stop參數(shù),則會(huì)返回整個(gè)列表。

需要注意的是, :stop 表示不在選定切片中的第一個(gè)值, alist[start:stop] 的取值類(lèi)似于數(shù)學(xué)中的取值范圍為 [start, stop) , 所以在步長(zhǎng)默認(rèn)為1的情況下, start-stop 的結(jié)果即為所取元素的數(shù)量。

負(fù)值用法

start與stop參數(shù)為負(fù)值

start與stop的值可以是負(fù)值,表示取值是從list的最后開(kāi)始,而不是開(kāi)頭。 例如:

alist[-1]
alist[-3:]
alist[:-1]

[2,3,4]
[0,1,2,3]

step參數(shù)為負(fù)值

step為負(fù)值時(shí)候表示將列表逆向,最簡(jiǎn)單的例子如下:

alist[::-1]

輸出結(jié)果為 [4,3,2,1,0] 。這個(gè)例子實(shí)際是以下面的這個(gè)形式返回,

[alist[-1], alist[-1-step], ..., alist[0]]

即從倒數(shù)第一個(gè)元素開(kāi)始,每一步加上步長(zhǎng),因?yàn)檫@里步長(zhǎng)為負(fù)數(shù),所以是減法,直到alist的開(kāi)頭。 知道這個(gè)原理,就能明白一些加上了start與stop參數(shù)的復(fù)雜寫(xiě)法,例如:

指定了start參數(shù)

alist[1::-1]

實(shí)際上是這樣返回:

[alist[1], alist[1-step], ..., alist[0]]

因此,返回的是 [1,0]

指定了stop參數(shù)

alist[:1:-1]

實(shí)際上是這樣返回:

[alist[-1], alist[-1-step], ..., alist[stop+1]]

因此,返回的是 [4, 3, 2] 。

同時(shí)指定了start與stop參數(shù)

注意,由于是逆序,所以start參數(shù)應(yīng)該大于stop參數(shù)。

alist[3:1:-1]

實(shí)際上是這樣返回:

[alist[start], alist[start-step], ..., alist[stop+1]]

因此,返回的是 [3,2]

我們可以看出,

  • 如果指定了start參數(shù),則從start參數(shù)index開(kāi)始取元素,直到遇到stop下標(biāo)或者list的第一個(gè)元素。
  • 如果未指定start參數(shù),則從list倒數(shù)第一個(gè)元素開(kāi)始,直到遇到stop下標(biāo)或者list的第一個(gè)元素。

總結(jié)

切片語(yǔ)法的使用特別靈活,如果正確掌握了它的用法,能夠簡(jiǎn)化你的代碼。需要注意的是,Python也提供了slice類(lèi)用于制造切片,例如:

alist[start:stop:step]

實(shí)際上等價(jià)于

alist[(slice(start,stop,step))]

以上所述是小編給大家介紹的Python 切片語(yǔ)法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!

相關(guān)文章

  • django 使用內(nèi)置messages的操作

    django 使用內(nèi)置messages的操作

    這篇文章主要介紹了django 使用內(nèi)置messages的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04
  • python數(shù)據(jù)結(jié)構(gòu)輸入輸出及控制和異常

    python數(shù)據(jù)結(jié)構(gòu)輸入輸出及控制和異常

    這篇文章主要介紹了python數(shù)據(jù)結(jié)構(gòu)輸入輸出及控制和異常,上一章節(jié)中我們介紹了python的基礎(chǔ)數(shù)據(jù)類(lèi)型和集合數(shù)據(jù)類(lèi)型,這章節(jié)給大家介紹一下python的輸入輸出、控制和異常,對(duì)數(shù)據(jù)類(lèi)型感興趣的同學(xué)可以查看一下文章<BR>
    2021-12-12
  • help函數(shù)解決python所有文檔信息查看

    help函數(shù)解決python所有文檔信息查看

    這篇文章主要為大家介紹了help函數(shù)解決python所有文檔信息查看示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • 使用Python讀取大文件的方法

    使用Python讀取大文件的方法

    這篇文章主要介紹了使用Python讀取大文件的方法,需要的朋友可以參考下
    2018-02-02
  • Python中關(guān)于set的基本用法

    Python中關(guān)于set的基本用法

    這篇文章主要介紹了Python中關(guān)于set的基本用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 測(cè)試、預(yù)發(fā)布后用python檢測(cè)網(wǎng)頁(yè)是否有日常鏈接

    測(cè)試、預(yù)發(fā)布后用python檢測(cè)網(wǎng)頁(yè)是否有日常鏈接

    難免會(huì)碰到秀逗了把測(cè)試的鏈接發(fā)布到線(xiàn)上的情況,一般這種都是通過(guò)一些測(cè)試的檢查工具來(lái)檢查鏈接來(lái)規(guī)避風(fēng)險(xiǎn)的,下面為大家簡(jiǎn)述下大概的實(shí)現(xiàn)思路
    2014-06-06
  • 跟老齊學(xué)Python之print詳解

    跟老齊學(xué)Python之print詳解

    print的一些基本用法,在前面的講述中也涉及一些,本講是在復(fù)習(xí)的基礎(chǔ)上,盡量再多點(diǎn)內(nèi)容。
    2014-09-09
  • Python 解析庫(kù)json及jsonpath pickle的實(shí)現(xiàn)

    Python 解析庫(kù)json及jsonpath pickle的實(shí)現(xiàn)

    這篇文章主要介紹了Python 解析庫(kù)json及jsonpath pickle的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Windows下pycharm安裝第三方庫(kù)失敗(通用解決方案)

    Windows下pycharm安裝第三方庫(kù)失敗(通用解決方案)

    這篇文章主要介紹了Windows下pycharm安裝第三方庫(kù)失敗(通用解決方案),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Python3實(shí)現(xiàn)發(fā)送QQ郵件功能(附件)

    Python3實(shí)現(xiàn)發(fā)送QQ郵件功能(附件)

    這篇文章主要為大家詳細(xì)介紹了Python3實(shí)現(xiàn)發(fā)送QQ郵件功能,附件方面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12

最新評(píng)論