您的位置:首页 > 编程语言 > Python开发

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

2016-01-18 21:35 639 查看
原文地址:http://www.cnblogs.com/sbaicl/archive/2013/01/17/2864085.html

我们在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的内容。”!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: