python range函数与numpy arange函数

Posted 多一点

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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(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

>>> np.arange(1, 5)
array([1, 2, 3, 4])

>>>range(1, 5, .1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: ‘float‘ object cannot be interpreted as an integer

>>>np.arange(1, 5, .5)
array([ 1. ,  1.5,  2. ,  2.5,  3. ,  3.5,  4. ,  4.5])

>>>range(1, 5, 2)
>>>for i in range(1, 5, 2):
...    print(i)
1
3

>>for i in np.arange(1, 5):
...    print(i)
1
2
3
4
技术分享图片

 【注意:python3.x中把range()取消了】,同时将xrange重命名为range。

xrange()也是用作循环,只是xrang(0,10)不返回list,返回xrange对象。每次调用返回其中的一个值。 

返回很大的数的时候或者频繁的需要break时候,xrange性能更好。arange和xrange没有区别,而且在数值大的时候xrang更优越,以后coding时候尽量用xrange。



以上是关于python range函数与numpy arange函数的主要内容,如果未能解决你的问题,请参考以下文章

numpy 学习中的注意事项

Numpy深入剖析Numpy.arange()与range()的区别

Numpy深入剖析Numpy.arange()与range()的区别

numpy数组与矩阵运算

numpy模块的基本使用

Numpy