1.range(start, end, step)
range(start, end, step)
,返回一个range.object
(迭代值),起始值为start
,终止值为end
,但不含终止值,步长为step
。只能创建int型list
。
这是一个通用的函数来创建包含算术级数的列表。它最常用于for循环
。参数必须是纯整数。
如果省略step
参数,则默认为1。如果省略start
参数,则默认为0。
完整的形式返回一个普通整数列表。
如果step
是正数,最后一个元素是小于停止的最大元素; 如果step
是负数,最后一个元素是大于stop
的最小元素; 步骤step
不能为零(否则报错)。
# 实例
>>>range(1,5)
range(1,5)
>>>tuple(range(1, 5))
(1, 2, 3, 4)
>>>list(range(1, 5))
[1, 2, 3, 4]
>>>r = range(1, 5)
>>>type(r)
<class 'range'>
>>>for i in range(1, 5):
... print(i)
1
2
3
4
2.np.arange(start, end, step)
np.arange(start, end, step)
,与range()
类似,也不含终止值,但是返回一个array对象
。需要导入numpy
模块(import numpy as np
或者from numpy import*
),并且arange
可以使用float型
数据。
在半开区间[start, stop)
内产生值 (换句话说,包括开始但不包括停止的区间)。对于整数参数,该函数等同于Python内置的范围函数,但返回一个ndarray
而不是一个列表。
当使用非整数步长(如0.1)时,结果往往不一致。这些情况下最好使用linspace
。
参数:
start:数字,可选
间隔开始。间隔包括这个值。默认的起始值是0。
stop:数字
间隔结束。间隔不包括此值,但在某些情况下,步骤不是整数,浮点舍入会影响out的长度。
dtype:步长,可选
值之间的间隔。对于任何输出出来,这是两个相邻值之间的距离,进行[I + 1] - 出[I] 。默认步长为1.如果指定了step,则还必须给出start。
dtype:dtype
输出数组的类型。如果没有给出dtype,则从其他输入参数推断数据类型。
返回:
类型: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])
通过上面官方文档的描述,我们可以知道:
range()
和np.arange()
的返回类型不同,range()
返回的是range.object
,而np.arange()
返回的是ndarray
类型;(type(np.arange(10)) == np.ndarray)
range()
不支持步长为小数,而np.arange()
支持步长(step
)为小数;range()
和np.arange()
都可用于迭代;range()
和np.arange()
都有三个参数,以第一个参数为起点,第三个参数为步长,截止到第二个参数之前的不包括第二个参数的数据序列。range()
可用于迭代,而np.arange()
作用远不止于此,它是一个序列,可被当做向量使用。