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"為最后一個索引值

  比較難理解,是吧!

   關鍵原因:與切片有關,如X[a:b],表示為“取出從偏移為a,直到但不包括b的內容。”!!!

 

  

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM