[Python]切片Slice的運用


原創文章,歡迎轉載。轉載請註明:轉載自 祥的博客
原文鏈接:https://blog.csdn.net/humanking7/article/details/96728009


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~


讚賞碼New

i

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章