python中的range()和array()函式
阿新 • • 發佈:2019-02-01
我們在Python中存在一個非常好用的range()與array()函式,下面作用法簡要介紹。
一、range()函式
>>> range(1,10) ——>不包括10 [1, 2, 3, 4, 5, 6, 7, 8, 9] >>>range(1,10,2) ——>1到10,間隔為2(不包括10) [1, 3, 5, 7, 9] >>>range(10) ——>0到10,不包括10 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
我們在編寫python程式時,通過這樣就可以直接列出一個序列的數字出來了。方便快捷...
二、array()函式
首先看列List表示內容:
Array=[2,3,9,1,4,7,6,8]
這個是一個數字列表,沒有順序的。
[2,3,9,1,4,7,6,8]
從前面開始的順序列表為{0,1,2,3,4,5,6,7}——>前面序號
從後面開始的順序列表為{-8,-7,-6,-5,-4,-3,-2,-1}——>後面序號
>>>Array[0:] ——>切片從前面序號“0”開始到結尾,包括“0”位 [2, 3, 9, 1, 4, 7, 6, 8] >>>Array[:-1] ——>切片從後面序號“-1”到最前,不包括“-1”位 [2, 3, 9, 1, 4, 7, 6] >>>Array[3:-2] ——>切從前面序號“3”開始(包括)到從後面序號“-2”結束(不包括) [1, 4, 7] >>>Array[3::2] ——>從前面序號“3”(包括)到最後,其中分隔為“2” [1, 7, 8] >>>Array[::2] ——>從整列表中切出,分隔為“2” [2, 9, 4, 6] >>> Array[3::] ——>從前面序號“3”開始到最後,沒有分隔 [1, 4, 7, 6, 8]
>>> Array[3::-2] ——>從前面序號“3”開始,往回數第二個,因為分隔為“-2” [1, 3]
>>> Array[-1] ——>此為切出最後一個
8
>>>Array[::-1] ——>此為倒序
[8, 6, 7, 4, 1, 9, 3, 2]
問題:
關於Array[0:]與Array[:-1],分片問題。
它們的分片結果為:
問題:為何,都是同樣是最前和最後,得出來的分片卻:[0:]取全部,[:-1]卻不取“-1”,這是為什麼?
原因:
分片原理,若沒有指定左邊界或者右邊界,則預設取到最左或者最右值。
[:-1]=[0:-1] ——>界定的分片邊界為索引取值邊界的和最後一個值,"-1"為最後一個索引值