本文共 823 字,大约阅读时间需要 2 分钟。
range(start, end, step),返回一个list对象,起始值为start,终止值为end,但不含终止值,步长为step。只能创建int型list。
arange(start, end, step),与range()类似,但是返回一个array对象。需要引入import numpy as np,并且arange可以使用float型数据。
两者都可用于迭代。range仅可用于迭代,而np.arange作用远不止于此,它是一个序列,可被当做向量使用。
两者都有三个参数,以第一个参数为起点,第三个参数为步长,截止到第二个参数之前的不包括第二个参数的数据序列
>>> import numpy as np>>> range(1,10,2)[1, 3, 5, 7, 9]>>> np.arange(1,10,2)array([1, 3, 5, 7, 9])>>> range(1,5,0.5)Traceback (most recent call last): File "", line 1, in TypeError: range() integer step argument expected, got float.>>> np.arange(1,5,0.5)array([ 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5])
【注意:python3.x中把range()取消了】,同时将xrange重命名为range。
xrange()也是用作循环,只是xrang(0,10)不返回list,返回xrange对象。每次调用返回其中的一个值。
返回很大的数的时候或者频繁的需要break时候,xrange性能更好。arange和xrange没有区别,而且在数值大的时候xrang更优越,以后coding时候尽量用xrange。
参考:
转载地址:http://lhhgi.baihongyu.com/