亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

詳解Python 切片語法

系統(tǒng) 1588 0

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

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

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

切片語法的基本形式為:

alist[start:stop:step]

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

  • start:起始位置
  • stop:終止位置
  • step:步長

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

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

  • 第一種方式指定了start與stop參數(shù),從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]
  • 第四種方式?jīng)]有指定start與stop參數(shù),則會返回整個列表。

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

負值用法

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

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

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

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

step參數(shù)為負值

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

alist[::-1]

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

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

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

指定了start參數(shù)

alist[1::-1]

實際上是這樣返回:

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

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

指定了stop參數(shù)

alist[:1:-1]

實際上是這樣返回:

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

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

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

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

alist[3:1:-1]

實際上是這樣返回:

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

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

我們可以看出,

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

總結

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

alist[start:stop:step]

實際上等價于

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

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


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产成人精品一区二区不卡 | 波多野结衣一区 | 久9久9精品视频在线观看 | 欧美精品www | 久久精品国产99久久99久久久 | 亚洲尹人香蕉网在线视颅 | 91chinese 永久免费 | 日本一级大黄毛片一级 | 久久国内精品自在自线观看 | 欧美日韩在线成人免费视频大全 | 深夜在线网址 | 开心激情四房 | 中文字幕亚洲综合久久2 | 黄色福利在线观看 | 奇米777影视成人四色 | 久久香蕉国产线看观看亚洲卡 | 91精品欧美产品免费观看 | 日韩高清一区二区三区不卡 | 最新久久免费视频 | 在线视频综合视频免费观看 | 中文国产欧美在线观看 | 色网在线免费观看 | 爆操在线 | 久久99久久精品97久久综合 | 亚洲欧美高清 | 538在线视频二三区视视频 | 国产一区自拍视频 | 天天色综合图片 | 国产女人又爽又大 | 中文字幕综合久久久久 | 欧美丰满大乳大屁股毛片 | 日本精品夜色视频一区二区 | 成人在线免费小视频 | 欧美日韩精品国产一区二区 | 99超级碰碰成人香蕉网 | 欧美日韩三级 | 三区在线观看 | 高清国产一级毛片国语 | 午夜成人在线视频 | 97se亚洲国产综合自在线观看 | 亚洲国产成人久久精品影视 |