[Python]切片Slice的運用
- 2020 年 3 月 10 日
- 筆記
文章目錄
- @[toc]
- 0. 環境
- 1. 切片操作
- 1.1. 簡介
- 1.2. 舉例說明
- eg.1. 取第1元素
- eg.2. 取最後1個元素
- eg.3. 複製整個列表
- eg.4. 取前10個元素
- eg.5. 取前10個元素
- eg.6. 取從第11個元素到第20個元素
- eg.7.1. 每隔10個取一個數,從開始
- eg.7.2. 每隔10個取一個數,從第50個元素(51)開始
- eg.7.3. 每隔10個取一個數,從第50個元素(51)開始,到第89個元素(90)
- eg.8. 取後10個元素
- 1.3. 簡單運用
- 2. 參考文獻
Python切片Slice的運用
0. 環境
Python 3.6
1. 切片操作
1.1. 簡介
取指定索引範圍的操作,用循環十分繁瑣,因此Python
提供了切片(Slice
)操作符,能大大簡化這種操作。
一個完整的切片表達式包含兩個:
,用於分隔三個參數(start_index、end_index、step)
,當只有一個:
時,默認第三個參數step=1
。
# 切片操作基本表達式 object[start_index : end_index : step]

1.2. 舉例說明
先設置一個列表從1到100,含有100個元素
# 創建列表 L= [1, 2, ..., 99, 100] L = list(range(1, 101))
eg.1. 取第1元素
>> L[0] 1
eg.2. 取最後1個元素
>> L[-1] 100
eg.3. 複製整個列表
>> L[:] [1, 2, ..., 99, 100]
eg.4. 取前10個元素
>> L[:10] [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
eg.5. 取前10個元素
>> L[:10] # 或者 L[0:10] [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
eg.6. 取從第11個元素到第20個元素
>> L[10:20] [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
注意:
L[10]
為11
L[20]
為21
eg.7.1. 每隔10個取一個數,從開始
>> L[::10] # 或者 L[0::10] [1, 11, 21, 31, 41, 51, 61, 71, 81, 91]
eg.7.2. 每隔10個取一個數,從第50個元素(51)開始
>> L[50::10] [51, 61, 71, 81, 91]
eg.7.3. 每隔10個取一個數,從第50個元素(51)開始,到第89個元素(90)
>> L[50:90:10] [51, 61, 71, 81]
eg.8. 取後10個元素
>> L[-10:] [91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
注意:
L[-10:-1]
會刨除最後1個元素;L[-10,0]
會得到[]
1.3. 簡單運用
用切片寫一個 去掉字符串頭尾空格的程序trim()
def trim(s): n = len(s) if n == 0: return s while s[0] == ' ': s = s[1:] n = n - 1 if n == 0: return s while s[-1] == ' ': s = s[:-1] n = n - 1 if n == 0: return s return s
測試代碼
if trim('hello ') != 'hello': print('1. 測試失敗!') elif trim(' hello') != 'hello': print('2. 測試失敗!') elif trim(' hello ') != 'hello': print('3. 測試失敗!') elif trim(' hello world ') != 'hello world': print('4. 測試失敗!') elif trim('') != '': print('5. 測試失敗!') elif trim(' ') != '': print('6. 測試失敗!') else: print('trim() 函數測試成功!')
2. 參考文獻
廖雪峰Python教程:https://www.liaoxuefeng.com/wiki/1016959663602400/1017269965565856
OK! 以上,Enjoy~