Python學習筆記__3.1章 切片
# 這是學習廖雪峰老師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章 切片