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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python切片原理_深度解析Python切片

發布時間:2023/12/4 python 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python切片原理_深度解析Python切片 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

詳解Python 切片語法

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

切片的主要聲明如下,假設現在有一個list,命名為alist:

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

切片語法的基本形式為:

alist[start:stop:step]

可以看出對于列表的切片操作有三個參數,分別為:

start:起始位置

stop:終止位置

step:步長

三個參數都是可選參數,意義為list的下標,即index。step參數默認值為1。表現形式有以下幾種:

alist[start:stop]

alist[start:]

alist[:stop]

alist[:]

第一種方式指定了start與stop參數,從start指定的下標開始取alist的元素,直到stop-1,例如 a[1:3] 的結果為 [1,2] 。

第二種方式會從start指定的下標開始,取alist剩余元素。例如 a[1:] 會得到 [1,2,3,4] 。

第三種方式會從alist的開始,取list元素,直到下標為stop-1,例如 a[:4] 會得到結果 [0,1,2,3]

第四種方式沒有指定start與stop參數,則會返回整個列表。

需要注意的是, :stop 表示不在選定切片中的第一個值, alist[start:stop] 的取值類似于數學中的取值范圍為 [start, stop) , 所以在步長默認為1的情況下, start-stop 的結果即為所取元素的數量。

負值用法

start與stop參數為負值

start與stop的值可以是負值,表示取值是從list的最后開始,而不是開頭。 例如:

alist[-1]

alist[-3:]

alist[:-1]

[2,3,4]

[0,1,2,3]

step參數為負值

step為負值時候表示將列表逆向,最簡單的例子如下:

alist[::-1]

輸出結果為 [4,3,2,1,0] 。這個例子實際是以下面的這個形式返回,

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

即從倒數第一個元素開始,每一步加上步長,因為這里步長為負數,所以是減法,直到alist的開頭。 知道這個原理,就能明白一些加上了start與stop參數的復雜寫法,例如:

指定了start參數

alist[1::-1]

實際上是這樣返回:

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

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

指定了stop參數

alist[:1:-1]

實際上是這樣返回:

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

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

同時指定了start與stop參數

注意,由于是逆序,所以start參數應該大于stop參數。

alist[3:1:-1]

實際上是這樣返回:

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

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

我們可以看出,

如果指定了start參數,則從start參數index開始取元素,直到遇到stop下標或者list的第一個元素。

如果未指定start參數,則從list倒數第一個元素開始,直到遇到stop下標或者list的第一個元素。

總結

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

alist[start:stop:step]

實際上等價于

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

以上所述是小編給大家介紹的Python 切片語法,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

以上就是本次給大家分享的關于java的全部知識點內容總結,大家還可以在下方相關文章里找到相關文章進一步學習,感謝大家的閱讀和支持。

總結

以上是生活随笔為你收集整理的python切片原理_深度解析Python切片的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。