小編給大家分享一下python中slice參數(shù)的分析示例,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
昌黎網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項目制作,到程序開發(fā),運營維護(hù)。創(chuàng)新互聯(lián)建站自2013年起到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
我們在拿到一個軟件的時候,打開它的屬性欄可以看到很多默認(rèn)的參數(shù)。在計算機中,我們可以把軟件的一些默認(rèn)值理解為缺省。同樣的,在slice參數(shù)中start和stop也都有各自的默認(rèn)值。這里slice參數(shù)是取最大區(qū)間的,下面就具體的start和stop分別進(jìn)行代碼分析。
1.取最大區(qū)間
start和stop都是可以缺省的,在缺省的情況下,Python的行為是盡可能取最大區(qū)間,具體來說:
按照擴充索引范圍的觀點,start的缺省值是無窮小(),stop的缺省值是無窮大()。
>>> a [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> a[:5] [0, 1, 2, 3, 4] >>> a[5:] [5, 6, 7, 8, 9] >>> a[100:] []
2.step為正數(shù)
當(dāng)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]
3.step為負(fù)數(shù)
當(dāng)step為負(fù)數(shù)時,切片將其解釋為從start出發(fā)以步長|step|逆序索引序列,此時,start和stop的截斷依然遵循前述規(guī)則,但缺省發(fā)生一點變化,因為我們說過,在缺省的情況下,Python的行為是盡可能取最大區(qū)間,此時訪問是逆序的,start應(yīng)盡量取大,stop應(yīng)盡量取小,才能保證區(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]
記住幾點:
切片結(jié)果是通過 start、stop 處理后的值決定的,從 start 開始止于 stop 不包括 stop,[start, stop)
如果 step > 0,從 start 位置往后,每 step 取一個值,如果 start >= stop,結(jié)果為空
如果 step < 0,從 start 位置往前,每 step 取一個值,如果 start <= stop,結(jié)果為空
start 或 stop 為負(fù)數(shù)時,如果絕對值在 length 內(nèi),那么和 length + start 或 stop 等價
start 或 stop 為負(fù)數(shù)時,如果絕對值超過 length ,那么就要根據(jù)切片方向?qū)?start 或 stop 轉(zhuǎn)換為邊界值
看完了這篇文章,相信你對python中slice參數(shù)的分析示例有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
名稱欄目:python中slice參數(shù)的分析示例
網(wǎng)站URL:http://chinadenli.net/article48/gopehp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、定制網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)