range()
返回的是range object
,而np.nrange()
返回的是numpy.adarray()
- 两者都是均匀地(evenly)等分区间;
range
尽可用于迭代,而np.arange
作用远不止于此,它是一个序列,可被当做向量使用。
range()
不支持步长为小数,np.arange()
支持步长为小数两者都可用于迭代
两者都有三个参数,以第一个参数为起点,第三个参数为步长,截止到第二个参数之前的不包括第二个参数的数据序列
某种意义上,和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)1234>>> 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)13>>for i in np.arange(1, 5):... print(i)1234
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow