1. 程式人生 > >Python學習筆記__3.1章 切片

Python學習筆記__3.1章 切片

編程語言 Python

# 這是學習廖雪峰老師python教程的學習筆記

第3章學習Python的高級特性

python的高級特性幫助我們更簡潔的寫代碼


切片可以幫助我們快速的從 list,tuple,str中取出自己想要的部分

list 和 tuple 的索引是從0開始的

L = list(range(10))


L[0:3] # 取前三個元素,從索引0開始取,直到索引3為止,但不包括索引3。即索引0,1,2。包前不包後

L[:3] # 取出前3個數

L[:10:2] # 前10個數,每兩個取一個(即步長為2)

L[::5] # 所有數,每5個取一個(即步長為5)

L[:] # 原樣復制一個list

#也可以倒著取,倒數第一個元素的索引是-1,也是包前不包後

L[-1] # 取出最後一個元素,格式為 int

L[-2:] # 取出最後兩個元素,格式為list

L[:-1] # 不顯示最後一個元素

L[-2:-1] # 取出倒數第二個元素,格式為List

L[::-1] # 倒序排列元素,步長為-1,即 [10,9,8….]

L[::-2] # 倒序排列元素,步長為-2,即 [10,8,6…..]

# 字符串的操作

>>> 'ABCDEFG'[:3]

'ABC'

>>> 'ABCDEFG'[::2]

'ACEG'

取字符串建議只用切片,不用下標,在腳本裏,有時用下標取值會報錯

2、例題

利用切片操作,實現一個trim()函數,去除字符串首尾的空格,註意不要調用str的strip()方法:

# -*- coding: utf-8 -*-

def trim(s):

方法一:

if s =="":

s=s

elif s[-1]==" ":

s=s[:-1]

return trim(s)

elif s[0]==" ":

s=s[1:]

return trim(s)

return s

方法二:(這裏只能用切片取值,用索引如s[0],會報錯)

while s[:1] == ' ': #如果字符串第一個是空格,刪除第一個

s = s[1:]

while s[-1:] == ' ': #如果字符串最後一個是空格,刪除最後一個

s = s[:-1]

return s

Python學習筆記__3.1章 切片