python内建数据结构range()和numpy.arange()

本文探讨了Python内置的range函数和NumPy的arange函数的区别。range主要用于迭代,而arange生成的序列可作为向量操作,支持浮点数步长。两者的参数和使用方式类似,但arange在处理非整数步长时可能不一致,建议使用linspace。此外,介绍了Python中下划线变量的用法。

python range函数与numpy arange函数

两者区别:

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开始停止[,步骤] )

这是一个用于创建包含算术进度的列表的通用函数。它最常用于for循环中。参数必须是普通整数。如果省略step参数,则默认为1。如果 省略start参数,则默认为0。完整表单返回普通整数列表。如果step 为正数,则最后一个元素是最大值小于 stop ; 如果step为负数,则最后一个元素是大于stop的最小元素。 步骤不能为零(否则 引发)。例:[start, start + step, start + 2 * step, ...]start + i * stepstart + i * stepValueError

>>> 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)
[]

 

来源于:https://docs.python.org/2/library/functions.html#range

numpy.arange 

numpy的。arange ([ start,] stop,[ step,] dtype = None 

在给定间隔内返回均匀间隔的值。

值在半开区间[开始, 停止]内生成 (换句话说,包括开始但不包括停止的区间)。对于整数参数,该函数等效于Python内置 范围函数,但返回的是ndarray而不是列表。

使用非整数步骤(例如0.1)时,结果通常不一致。最好在这些情况下使用linspace。

参数:

开始:数字,可选

间隔开始。间隔包括此值。默认起始值​​为0。

停止:数字

间隔结束。间隔不包括此值,除非在某些情况下,step不是整数,浮点舍入会影响out的长度。

步骤:数字,可选

值之间的间距。对于任何输出出来,这是两个相邻值之间的距离,进行[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])

来源于:https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.arange.html

 

 

注意:python中for _ in range(10)与for i in range(10)

下划线表示 临时变量, 仅用一次,后面无需再用到

这两个其实是一样的,只是变量名字不一样,要是到变量名是要求用字母或者下划线开头的,这个正好只用了一个下划线而已;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值