本文参考自: 原文地址
1.range()
返回的是range object
,而np.arange()
返回的是numpy.ndarray()
range
尽可用于迭代,而
np.arange
作用远不止于此,它是一个序列,可被当做向量使用。
2.range()
不支持步长为小数,np.arange()
支持步长为小数
3.两者都可用于迭代
4.两者都有三个参数,以第一个参数为起点,第三个参数为步长,截止到第二个参数之前的不包括第二个参数的数据序列
某种意义上,和STL中由迭代器组成的区间是一样的,即左闭右开的区间。[first, last)
或者不加严谨地写作[first:step:last)
range()函数
- 函数说明: range(start, stop[, step]) -> range object,根据start与stop指定的范围以及step设定的步长,生成一个序列。
参数含义:start:计数从start开始。默认是从0开始。例如range(5)等价于range(0, 5);
end:技术到end结束,但不包括end.例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
scan:每次跳跃的间距,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
函数返回的是一个range object
例子: -
0, 5) #生成一个range object,而不是[0,1,2,3,4]range(
-
range( 0, 5)
-
for i in range( 0, 5)] #从0 开始到4,不包括5,默认的间隔为1c = [i
-
-
[ 0, 1, 2, 3, 4]
-
for i in range( 0, 5, 2)] #间隔设为2c = [i
-
-
[ 0, 2, 4]
-
- 若需要生成[ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
-
0, 1, 0.1) #range中的setp 不能使floatrange(
-
Traceback (most recent call last):
-
File "<pyshell#5>", line 1, in <module>
-
range( 0, 1, 0.1)
-
TypeError: 'float' object cannot be interpreted as an integer
-
arrange()函数
- 函数说明:arange([start,] stop[, step,], dtype=None)根据start与stop指定的范围以及step设定的步长,生成一个 ndarray。 dtype : dtype
The type of the output array. If `dtype` is not given, infer the data
type from the other input arguments.-
>>> np.arange( 3)
-
array([ 0, 1, 2])
-
>>> np.arange( 3.0)
-
array([ 0., 1., 2.])
-
>>> np.arange( 3, 7)
-
array([ 3, 4, 5, 6])
-
>>> np.arange( 3, 7, 2)
-
array([ 3, 5])
-
-
0, 1, 0.1)arange(
-
array([ 0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])
-
转载自 https://blog.youkuaiyun.com/qianwenhong/article/details/41414809
https://www.cnblogs.com/ymjyqsx/p/6426764.html