Python高級特性---Slice

# 切片.取一個list或者tuple部分元素是非常常見的操作.比如, 一個list如下:
L = ['M', 'S', 'T', 'B', 'J']
# 取前3個一般的辦法是[L[0], L[1], L[2]].這種吧辦法很笨.如果要取前N個元素, N又很大
# 這樣寫要類死, 當然你可以用循環, 但這又增加的代碼復雜度, 十分繁瑣.切片操作符就是為了解決
# 這類問題, 提供了十分簡潔的語法.
# 取前三個元素
top_three = L[0:3]  # 表示從索引0開始取, 直到索引3結束, 不包括索引3.當然如果索引第一個是0, 還可以省略L[:3]
print(top_three)

# 我們知道L[-1]表示倒數第一個元素.
print(L[-2:])  #表示取倒數最后兩個元素, 右邊默認就表示最大的即L[-2:5]

# 取倒數第二個元素
print(L[-2:-1]) # 右邊的始終表示最后一個的下一個.


# 前10個數, 每兩個取一個
L = list(range(100))
L = L[:10:2]
print(L)

# 所有數
L = list(range(100))
print(L[:]) # L[0:100]

# 所有數, 沒5個取一個
print(L[::5])
L = L[::5]
print(type(L)) # list的切片結果還是list

# tuple也是一種list,所以也可以做切片,其結果是tuple

# 字符串一個一看成是一種list, 每個元素是一個字符.所以字符串也可以做切片.

# 小結:
# 1.左邊省略不寫, 始終表示索引0.右邊省略不寫, 始終表示最后一個的下一個.
# 2.根據1, 原樣復制一個list,可以寫成L[:]
# 3 :5:6 ==> (0:5):2 取前五個數, 再這五個數中, 再每隔2個取一個.
# 4 字符串一個一看成是一種list, 每個元素是一個字符.所以字符串也可以做切片.
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容