python切片

本篇將介紹Python的切片操作印机,切片支持的數(shù)據(jù)類型有列表、字符串、元祖腐魂,更多內(nèi)容請參考:Python學(xué)習(xí)指南

切片是什么蛔屹?

切片操作符是序列名后跟一個方括號兔毒,方括號中有一對可選的數(shù)字育叁,并用冒號分隔豪嗽。注意這與你使用的索引操作符十分相似。記住數(shù)是可選的计贰,而冒號是必須的。切片分隔符中的第一個數(shù)(冒號之前)表示序列開始的下標(biāo),第二個數(shù)(冒號之后)表示切片結(jié)束的下標(biāo),第三個數(shù)(冒號之后)表示切片間隔數(shù)挖帘。如果不指定第一個數(shù)拇舀,Python就從序列首開始逻族。如果沒有指定第二個數(shù)骄崩,則Python會停止在序列尾。注意要拂,返回的序列從開始位置開始 ,剛好在 結(jié)束 位置之前結(jié)束脱惰。即開始位置是包含在序列切片中的搏嗡,而結(jié)束位置被排斥在切片外采盒。這樣抽碌,shoplist[1:3]返回從位置1開始决瞳,包括位置2痴颊,但是停止在位置3的一個序列切片,因此返回一個含有兩個項(xiàng)目的切片屡贺。shoplist[:]返回整個序列的拷貝蠢棱。shoplist[::3]返回位置3,位置6,位置9...的序列切片甩栈。也可以用負(fù)數(shù)做切片泻仙,負(fù)數(shù)用在從序列尾開始計(jì)算的位置。例如量没,shoplist[::-1]會返回倒序序列切片玉转。

切片的操作

取一個list或tuple的部分元素時非常常見的操作。比如殴蹄,一個list如下:

>>>L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']
#取前三個元素
>>>L[0:3]
['Michael', 'Sarch', 'Tracy']

如果第一個索引是0究抓,還可以省略

L[:3]
['Michael', 'Sarch', 'Tracy']

#從索引1開始猾担,取出2個元素
>>>L[1:3]
['Sarch', 'Tracy']

類似的,既然Python支持L[-1]取倒數(shù)第一個元素刺下,那么它同樣支持倒數(shù)切片绑嘹,試試:

>>>[-2:]
['Bob', 'Jack']
>>>L[-2:-1]
['Bob']

記住,倒數(shù)第一個元素的索引是-1
切片操作十分有用橘茉,我們先創(chuàng)建一個0-99的數(shù)列:

>>>L = list(range(100))
>>>L
[0,1,2,3,4,...,99]

可以通過切片輕松取出某一段數(shù)列工腋。比如前10個數(shù):

>>>L[:10]
[0,1,2,3,4,5,6,7,8,9]
#后10個數(shù)
>>>L[-10:]
[90,91,92,93,94,95,96,97,98,99]
#前11-20個數(shù)
>>>[10:20]
[10,11,12,13,14,15,16,17,18,19]
#前10個數(shù),每2個取一個:
>>>L[:10:2]
[0,2,4,6,8]
#所有數(shù)捺癞,每5個取一個:
>>>L[::5]
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95]
#什么都不寫夷蚊,只寫[:]就可以原樣復(fù)制一個list
>>>L[:]
[0,1,2,3,...,99]

tuple

tuple也是一種list,唯一區(qū)別是tuple不可變髓介。因此惕鼓,tuple也可以用切片操作,只是操作的結(jié)果仍是tuple:

>>> (0, 1, 2, 3, 4, 5)[:3]
(0, 1, 2)

字符串

字符串'xxx'也可以看成是一種list唐础,每個元素就是一個字符箱歧。因此,字符串也可以用切片操作一膨,只是操作結(jié)果仍是字符串:

>>> 'ABCDEFG'[:3]
'ABC'
>>> 'ABCDEFG'[::2]
'ACEG'

在很多編程語言中呀邢,針對字符串提供了很多各種截取函數(shù)(例如,substring)豹绪,其實(shí)目的就是對字符串切片价淌。Python沒有針對字符串的截取函數(shù),只需要切片一個操作就可以完成瞒津,非常簡單蝉衣。

參考

  1. 廖雪峰-切片
  2. Python列表切片詳解
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市巷蚪,隨后出現(xiàn)的幾起案子病毡,更是在濱河造成了極大的恐慌,老刑警劉巖屁柏,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件啦膜,死亡現(xiàn)場離奇詭異,居然都是意外死亡淌喻,警方通過查閱死者的電腦和手機(jī)僧家,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來裸删,“玉大人啸臀,你說我怎么就攤上這事。” “怎么了乘粒?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵豌注,是天一觀的道長。 經(jīng)常有香客問我灯萍,道長轧铁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任旦棉,我火速辦了婚禮齿风,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘绑洛。我一直安慰自己救斑,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布真屯。 她就那樣靜靜地躺著脸候,像睡著了一般。 火紅的嫁衣襯著肌膚如雪绑蔫。 梳的紋絲不亂的頭發(fā)上运沦,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天,我揣著相機(jī)與錄音配深,去河邊找鬼携添。 笑死,一個胖子當(dāng)著我的面吹牛篓叶,可吹牛的內(nèi)容都是我干的烈掠。 我是一名探鬼主播,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼缸托,長吁一口氣:“原來是場噩夢啊……” “哼左敌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起嗦董,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤母谎,失蹤者是張志新(化名)和其女友劉穎瘦黑,沒想到半個月后京革,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡幸斥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年匹摇,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片甲葬。...
    茶點(diǎn)故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡廊勃,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情坡垫,我是刑警寧澤梭灿,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站冰悠,受9級特大地震影響堡妒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜溉卓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一皮迟、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧桑寨,春花似錦伏尼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至代赁,卻和暖如春扰她,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背芭碍。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工徒役, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人窖壕。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓忧勿,卻偏偏與公主長得像,于是被迫代替她去往敵國和親瞻讽。 傳聞我的和親對象是個殘疾皇子鸳吸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 切片操作符是序列名后跟一個方括號,方括號中有一對可選的數(shù)字速勇,并用冒號分割晌砾。注意這與你使用的索引操作符十分相似。記住...
    編程技術(shù)閱讀 321評論 0 0
  • 最近在慕課網(wǎng)學(xué)習(xí)廖雪峰老師的Python進(jìn)階課程烦磁,做筆記總結(jié)一下重點(diǎn)养匈。 基本變量及其類型 變量 在Python中,...
    victorsungo閱讀 1,681評論 0 5
  • 一都伪、python 變量和數(shù)據(jù)類型 1.整數(shù) Python可以處理任意大小的整數(shù)呕乎,當(dāng)然包括負(fù)整數(shù),在Python程序...
    績重KF閱讀 1,700評論 0 1
  • 本教程基于Python 3陨晶,參考 A Byte of Python v1.92(for Python 3.0) 以...
    yuhuan121閱讀 3,065評論 1 6
  • 初生的你猬仁,像個小牛犢, 毛發(fā)濃密,黝黑修長湿刽, 你如約來光顧的烁, 是我們一輩子最貴的禮物! 你第三天會翻身诈闺; 第一百天...
    雙木林兮閱讀 207評論 0 0