Python中的range()与array()函数

xiaoxiao2021-02-27  124

我们在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的内容。”!!!

转载请注明原文地址: https://www.6miu.com/read-15791.html

最新回复(0)