Python range()与np.arange()

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Python range()与np.arange()

王致列   2022-09-08 我要评论

np.arange()

np.arange()函数返回一个有终点和起点的固定步长的排列,如[1,2,3,4,5],起点是1,终点是6,步长为1。

参数个数情况: np.arange()函数分为一个参数,两个参数,三个参数三种情况

  • 一个参数时,参数值为终点,起点取默认值0,步长取默认值1。
  • 两个参数时,第一个参数为起点,第二个参数为终点,步长取默认值1。
  • 三个参数时,第一个参数为起点,第二个参数为终点,第三个参数为步长。其中步长支持小数
 # 一个参数 默认起点0,步长为1 输出:[0 1 2 3 4 5]
a = np.arange(5)
 
# 两个参数 默认步长为1 输出[3 4 5]
a = np.arange(3,6)
 
# 三个参数 起点为0,终点为3,步长为0.5 输出[ 0.   0.5   1.   1.5   2.   2.5]
a = np.arange(0, 3, 0.5)

当使用非整数步长(如0.1)时,结果往往不一致。这些情况下最好使用linspace。

>>> np.linspace(2.0, 3.0, num=5)
array([ 2.  ,  2.25,  2.5 ,  2.75,  3.  ])
>>> np.linspace(2.0, 3.0, num=5, endpoint=False)
array([ 2. ,  2.2,  2.4,  2.6,  2.8])
>>> np.linspace(2.0, 3.0, num=5, retstep=True)
(array([ 2.  ,  2.25,  2.5 ,  2.75,  3.  ]), 0.25)

range()

函数语法:

range(stop)
range(start, stop[, step])

参数说明:

  • start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
  • stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
  • step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
>>>range(5)
range(0, 5)
>>> for i in range(5):
...     print(i)
... 

>>> list(range(5))
[0, 1, 2, 3, 4]
>>> list(range(0))
[]

有两个参数或三个参数的情况(第二种构造方法):

>>>list(range(0, 30, 5))
[0, 5, 10, 15, 20, 25]
>>> list(range(0, 10, 2))
[0, 2, 4, 6, 8]
>>> list(range(0, -10, -1))
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
>>> list(range(1, 0))
[]

range()和np.arange()区别

arange()是Numpy中的函数,它和python自带函数range()的功能貌似比较相同。但是range()和np.arange()有一些区别:

  • range()和np.arange()的返回类型不同,range()返回的是range这个object,而np.arange()返回的是ndarray类型;
  • range()不支持步长为小数,而np.arange()支持步长(step)为小数;
  • range()和np.arange()都可用于迭代;
  • range()和np.arange()都有三个参数,以第一个参数为起点,第三个参数为步长,截止到第二个参数之前的不包括第二个参数的数据序列。
  • range()可用于迭代,而np.arange()作用远不止于此,它是一个序列,可被当做向量使用。

 到此这篇关于Python中range()与np.arange()的具体使用的文章就介绍到这了,更多相关Python range()与np.arange()内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们