range()和np.arange()的区别

本文对比了Python中range和np.arange函数的用法与区别,range仅能生成整数序列,返回range.object;np.arange则支持浮点数,返回ndarray,更适用于数值计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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()作用远不止于此,它是一个序列,可被当做向量使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是天才很好

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值