Python切片學習筆記詳解

來源:互聯網
上載者:User


切片功能是為了方便操作list或tuple設計的。主要是為了方便對其中元素的提取。
假設一個list列表中有abcde五個元素,想依次輸出這五項則需要代碼:

L=['a','b','c','d','e']
n=5
for i in range(n):
print(L[i])

python提供了切片功能,可以實現對list內的元素進行靈活讀取。

L=['a','b','c','d','e']
print(L[0:3])

返回['a', 'b', 'c'],即從索引0開始取到索引3,但不包括索引3,也就是索引0,1,2(a是索引0)
同樣也可以從倒序來取
print(L[-1])返回e

print(L[-3:-1])返回c,d(倒數第三個開始取,取到倒數第一個,但是不包括倒數第一個。)

進階切片
有的時候需要進行進階切片,比如在1-100內取奇數,則需要使用兩個:進行分隔。

L=list(range(1,101,1))
print(L[0:100:2])
返回1,3,5......99
取偶數print(L[1:100:2])
被3整除的數:print(L[2:100:3])

字串也被看作是list

a='abcde'
print(a[0:3])

返回abc

有一個經典應用是:翻轉字串

比如:

12 >>> str='pythontab.com'
>>> str[::-1]

結果為:

'moc.batnohtyp'


切片邊界問題


執行個體:

123456 s=[1,2,3,4]       # S 上界為 0 下界為 4 
s[-100:100]       #返回 [1,2,3,4] -100超出了上界,100超出了下界:等價於 s[0:4]
s[-100:-200]      #返回 [] -100,-200均超出了上界,自動取上界:等價於s[0:0]
s[100:200]        #返回 [] 100,200均超出了下界,自動取下界值:等價於s[4:4]
s[:100]           #返回 [1,2,3,4] 開始值省略表示從第0個開始
s[0:]             #返回 [1,2,3,4] 結束值為空白表示到最後一個結束

注意:我使用的python版本為python2.7,python的切片存在版本相容問題。在python3中有更加進階的功能和用法,在使用時一定要注意自己的python版本。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.