python教程,如何利用linspace()生成等差数列?对比arange()
发布于 作者:苏南大叔 来源:程序如此灵动~

不出所料,本文这个可以生成个等差数列数据的linspace()
函数,又是来自numpy
。numpy
果然是个神奇的数学计算包。不过,本文的np.linspace()
函数,和以前描述过的np.arange()
函数,是非常的相似。所以,本文会对两者进行一下对比。

苏南大叔的"程序如此灵动"技术博客,记录苏南大叔的代码编程经验总结。本文测试环境:win10
,python@3.11.0
,numpy@1.24.2
。
np.arange()对比
这个np.arange()
函数,在以前已经做过描述:
下面的代码是做个简要的回顾:
输出:

np.linspace()原型
函数原型如下:
参数含义对照表:
参数 | 含义 |
---|---|
start | 开始点 |
stop | 结束点 |
num | 要生成的等间隔样例数量,默认为 50 |
endpoint | 是否在间隔的末端包含 stop 值,默认为 True |
retstep | 是否返回样例间隔。如果为 True,则返回 (samples, step) |
dtype | 输出数组类型 |
np.linspace()范例
下面的是一些范例:
输出:

np.arange() 对比 np.linspace()
对比一下的话:
arange()
可以只传递一个最大值max
,linspace()
至少要写两个值start
、end
。arange()
的生成范围是[min,max)
,linspace()
的生成范围则是:[start,end]
。arange()
的第三个参数是步长step
,linspace()
的第三个参数是num
(生成多少个点),步长step
是自动计算的。linspace()
存在着多个其它参数:endpoint
/retstep
/dtype
。linspace()
的生成结果,即使是整数,也显示为浮点(后面有个.
)。
再次对比总结
方法 | 参数1 | 参数2 | 参数3 | 参数4 | 参数5 | 参数6 | 返回值 |
---|---|---|---|---|---|---|---|
.arange() | start | end | step=1 | 无 | 无 | 无 | [i]/[f] |
.linspace() | start | end | num=50 | endpoint=True | retstep=False | dtype=None | [f] |
忽略np.linspace()
的后三个参数,再次来对比一下两个方法。下面的例子,可以一眼看出两者最大区别:
方法 | 参数个数 | start | stop | 第三个参数 |
---|---|---|---|---|
np.arange() | 一个 | 默认0 | 不包含stop | 默认步长1 |
np.linspace() | 一个 | start | 不写就报错 | 已经报错了 |
np.arange() | 两个 | start包含 | stop不包含 | 默认步长1 |
np.linspace() | 两个 | start包含 | stop包含 | 默认返回个数50 |
np.arange() | 三个 | start包含 | stop不包含 | 步长 |
np.linspace() | 三个 | start包含 | stop包含 | 个数 |
相关文章
结束语
苏南大叔的python
系列文章,请点击:


