本文主要着眼于介绍Python range与Numpy arange的用法,以区别于二者的使用。
1、Numpy.arange
numpy.arange([start,] stop,[step,] dtype=None)
返回给定间隔内的均匀间隔的值。
在半开间隔[start,stop)内生成值。 对于整数参数,该函数等效于Python内置的range函数,但是返回ndarray而不是列表。
当使用非整数步时(例如0.1),结果通常将不一致。 对于这些情况,最好使用numpy.linspace。
参数:
start:数字,可选
间隔的开始。 间隔包括该值(即:左闭)。 默认起始值为0。
stop: 数字
间隔的结束。 间隔不包括该值(即:右开),但某些情况除外,其中step不是整数,并且浮点舍入会影响输出out的长度。
step: 数字,可选
值之间的间距。 对于任何输出out,这是两个相邻值out [i + 1]-out [i]之间的距离。 默认步长为1。如果将step指定为位置参数,则必须指定start。
dtype:dtype
输出数组的类型。 如果未给出dtype,则从其他输入参数推断数据类型。
返回:
arange: ndarray
均匀间隔的值的数组。
对于浮点参数,结果的长度为ceil((stop-start)/ step)。 由于浮点溢出,此规则可能导致输出out的最后一个元素大于stop。
示例:
>>>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])
2、Python range()
python range() 函数可创建一个整数列表,一般用在 for 循环中。
语法:
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(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>range(1, 11)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>>range(0, 30, 5)
[0, 5, 10, 15, 20, 25]
>>>range(0, 10, 3)
[0, 3, 6, 9]
>>>range(0, -10, -1) # 负数
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
>>>range(0)
[]
>>>range(1, 0)
[]
>>>x = 'lanjun'
>>>for i in range(len(x)) :
... print(x[i])
...
l
a
n
j
u
n
>>>