1. 程式人生 > >python中的range()和array()函式

python中的range()和array()函式

我們在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"為最後一個索引值