日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python切片逆序_Python 的逆序同时切片如何操作?

發(fā)布時(shí)間:2024/7/23 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python切片逆序_Python 的逆序同时切片如何操作? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

`Python` 的切片,語(yǔ)法是這樣的

a[[start]:[end][:[step]]]

其中索引為 end 的元素不會(huì)被包括進(jìn)來。`start`、`end`、`step` 和 `step 前面的冒號(hào)`都可以省略。這么多可以省略的,那么解釋器是怎么設(shè)置默認(rèn)值的呢?解釋器對(duì)正序和逆序切片的默認(rèn)值設(shè)置是不一樣的。

變量 `a` 長(zhǎng)這樣:

a="0123456789"

## 正序切片

在正序切片中,默認(rèn)值的設(shè)置為start = `0`

end = `-1 后面一位`,即切片會(huì)返回包括 str 最后一個(gè)元素

step = `1`

其中 `end` 的默認(rèn)值為 `-1 后面一位`是什么意思呢?這里的 `-1` 指的是 `index` 為 `-1` 的元素,即 `str` 的最后一個(gè)位置,在 `a` 中指的是 `9` 這個(gè)元素。那它后面一位是無(wú)意義的,但解釋器執(zhí)行的時(shí)候會(huì)切片到該元素的前一位,即 `9`。

下面是幾種正序切片的常見用例

a[:-1]

>>> '012345678'注意這里切片返回的結(jié)果不會(huì)包括索引為 -1 的元素

a[:8]

>>> '01234567'

a[8:]

>>> '89'

a[:8:2]

a[0:8:2]

>>> '0246'

## 逆序切片 (step 為負(fù)數(shù))

逆序切片的默認(rèn)值就很有意思了,不注意的話非常容易混淆搞錯(cuò)邊界索引,它的默認(rèn)值是start = `-1`

end = `0 前面一位`,即切片會(huì)返回包括 `str` 第一個(gè)元素

這里的邏輯是,從 `start` 元素開始,在其索引上依次加上 `step`,找到下一個(gè)索引直到 `end`,所以寫逆序切片的時(shí)候,`start` 的索引是大于 `end` 的索引的。

a

>>> '0123456789'

a[::-1]

>>> '9876543210'

a[0::-1]

>>> '0'

a[:0:-1]

a[-1:0:-1]

>>> '987654321'

a[4::-1]

>>> '43210'

## 總結(jié)

其實(shí)不難反推出來,默認(rèn)的值并不是寫死的,而是根據(jù) `step` 值來從 `start` 或者 `end` 二者之一來用加上 `step` 依次推導(dǎo),直到隊(duì)列最前/最后一個(gè)元素的。如果不熟悉的話,逆序切片很容易在邊界上出錯(cuò),也不直觀,不易理解,最好使用其他等效的操作來替代。

總結(jié)

以上是生活随笔為你收集整理的python切片逆序_Python 的逆序同时切片如何操作?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。