Python 中的range,以及numpy包中的arange函數
range()函數
-
函數說明: range(start, stop[, step]) -> range object,根據start與stop指定的範圍以及step設定的步長,生成一個序列。
參數含義:start:計數從start開始。預設是從0開始。例如range(5)等價于range(0, 5);
end:技術到end結束,但不包括end.例如:range(0, 5) 是[0, 1, 2, 3, 4]沒有5
scan:每次跳躍的間距,預設為1。例如:range(0, 5) 等價于 range(0, 5, 1)
函數傳回的是一個range object
例子:
- >>> range(0,5) #生成一個range object,而不是[0,1,2,3,4] range(0, 5) >>> c = [i for i in range(0,5)] #從0 開始到4,不包括5,預設的間隔為1 >>> c [0, 1, 2, 3, 4] >>> c = [i for i in range(0,5,2)] #間隔設為2 >>> c [0, 2, 4]
-
若需要生成[ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
>>> range(0,1,0.1) #range中的setp 不能使float Traceback (most recent call last): File "<pyshell#5>", line 1, in <module> range(0,1,0.1) TypeError: 'float' object cannot be interpreted as an integer
arrange()函數
-
函數說明:arange([start,] stop[, step,], dtype=None)根據start與stop指定的範圍以及step設定的步長,生成一個 ndarray。 dtype : dtype
The type of the output array. If `dtype` is not given, infer the data
type from the other input arguments. >>> 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])
- >>> arange(0,1,0.1) array([ 0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])