切片操作就是對list,元組,字串進行擷取操作有了切片操作,很多地方迴圈就不再需要了python的切片非常靈活,一行**就可以實現很多行迴圈才能完成的操作
使用示例:
list切片l = ['michael', 'sarah', 'tracy', 'bob', 'jack']
正序切片
print(l[0:3]) #輸出:['michael', 'sarah', 'tracy']
#l[0:3]表示,從索引0開始取,直到索引3為止,但不包括索引3。即索引0,1,2,正好是3個元素 print(l[1:3]) #輸出:['sarah', 'tracy'], 也可以從索引1開始,取出2個元素出來
倒序切片
print(l[-2:-1]) #輸出:['bob']
#倒數第乙個元素的索引是-1,因為第二個索引是不包括的,所以jack是不會被輸出的
省略索引print(l[:3]) #輸出:['michael', 'sarah', 'tracy'], 如果第乙個索引是0,還可以省略,實際執行l[0:3]
print(l[2:]) #輸出:['tracy', 'bob', 'jack']
#實際執行l[2:len(l)+1],注意不是l[2:-1]
print(l[-2:]) #輸出:['bob', 'jack'], 實際執行l[-2:len(l)+1]
print(l[:-2]) #輸出:['michael', 'sarah', 'tracy'], 實際執行l[0:-2]
#切片的開始索引省略,則預設是0
#切片的結束索引省略,則預設是len(list)+1
其他常用例l = list(range(100))
print(l[:10]) #輸出:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 前10個數
print(l[-10:]) #輸出:[90, 91, 92, 93, 94, 95, 96, 97, 98, 99], 後10個數
print(l[10:20]) #輸出:[10, 11, 12, 13, 14, 15, 16, 17, 18, 19], 前11-20個數
print(l[:10:2]) #輸出:[0, 2, 4, 6, 8], 前10個數,每兩個取乙個
print(l[::5]) #輸出:[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95], 所有數,每5個取乙個
print(l[:]) #輸出:[0, 1, 2, 3, ..., 99], 什麼都不寫,只寫[:]就可以原樣複製乙個list
元組切片
tuple也是一種list,唯一區別是tuple不可變。因此,tuple也可以用切片操作,只是操作的結果仍是tupleprint((0, 1, 2, 3, 4, 5)[:3]) #輸出:(0, 1, 2)
字串切片
字串'***'也可以看成是一種list,每個元素就是乙個字元。因此,字串也可以用切片操作,只是操作結果仍是字串 在很多程式語言中,針對字串提供了很多各種擷取函式(例如,substring),其實目的就是對字串切片 python沒有針對字串的擷取函式,只需要切片乙個操作就可以完成,非常簡單print('abcdefg'[:3]) #輸出:'abc'
print('abcdefg'[::2]) #輸出:'aceg'
python怎麼輸出n的多次方 Python輸出
簡單來說,就是將程式的執行結果顯示出來。print hello world 比如有以下 pirnt 我今年10歲 pirnt 我今年11歲 pirnt 我今年12歲 在輸出年齡的時候,用了多次 我今年xx歲 能否簡化一下程式呢?字串格式化看如下 age 10 print 我今年 d歲 age age...
python 切片 Python 列表切片
想必很多人都使用過列表的切片,通過切片可以從列表中獲取乙個或多個元素,但你真的了解切片?一 一般玩法 name a b c d e f g h name 0 2 獲取 0 2 中間的元素,不包括索引為 2 的元素 a b name 2 從 0 開始切,可省略 0 a b name 1 同樣地,切到最...
pythonint切片 python 切片
切片 list取值的一種方式,在ist中取多個值時,就叫切片 lis list range 1,21 print lis print lis 0 11 print lis 0 11 2 print lis 1 lists 於萍 李夢 王春武 李丹利 for name in lists print n...