切片也就是從list、tuple和字符串里獲取一部分元素。
1 對list進行切邊
取一個list的部分元素是非常常見的操作。比如,一個list如下:
>>> L = ['Adam', 'Lisa', 'Bart', 'Paul']
取前3個元素,用一行代碼就可以完成切片:
>>> L[0:3]['Adam', 'Lisa', 'Bart']
L[0:3]表示,從索引0開始取,直到索引3為止,但不包括索引3。即索引0,1,2,正好是3個元素。
如果第一個索引是0,還可以省略:
>>> L[:3]['Adam', 'Lisa', 'Bart']
也可以從索引1開始,取出2個元素出來:
>>> L[1:3]['Lisa', 'Bart']
只用一個 :,表示從頭到尾:
>>> L[:]['Adam', 'Lisa', 'Bart', 'Paul']
切片操作還可以指定第三個參數:
>>> L[::2]['Adam', 'Bart']
第三個參數表示每N個取一個,上面的 L[::2] 會每兩個元素取出一個來,也就是隔一個取一個。
2 對tuple進行切片
第三個參數表示每N個取一個,上面的 L[::2] 會每兩個元素取出一個來,也就是隔一個取一個。
3 倒序切片
對于list,既然Python支持L[-1]取倒數第一個元素,那么它同樣支持倒數切片。例如:
>>> L = ['Adam', 'Lisa', 'Bart', 'Paul']>>> L[-2:]['Bart', 'Paul']>>> L[:-2]['Adam', 'Lisa']>>> L[-3:-1]['Lisa', 'Bart']>>> L[-4:-1:2]['Adam', 'Bart']
記住倒數第一個元素的索引是-1。倒序切片包含起始索引,不包含結束索引。
4 對字符進行切片
字符串 'xxx'和 Unicode字符串 u'xxx'也可以看成是一種list,每個元素就是一個字符。因此,字符串也可以用
切片操作,只是操作結果仍是字符串:
>>> 'ABCDEFG'[:3]'ABC'>>> 'ABCDEFG'[-3:]'EFG'>>> 'ABCDEFG'[::2]'ACEG'
新聞熱點
疑難解答