# 切片.取一個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, 每個元素是一個字符.所以字符串也可以做切片.
Python高級特性---Slice
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
推薦閱讀更多精彩內容
- 取出一個list或者tuple的一部分,最笨的方法有: 取出前n個,也可以使用循環的方式: 不過,循環的方式過于復...
- slice 會讓我們原本很復雜的操作的變得很簡單已知: 1)獲取 L的前50個數(一) L[0:5]表示從索引0開...
- 1. 遞歸函數 在函數內部,可以調用其他函數。如果一個函數在內部調用自身本身,這個函數就是遞歸函數。 舉個例子,我...
- 列表生成式即List Comprehensions,是Python內置的非常簡單卻強大的可以用來創建list的生成...