在python中,range的意思是“範圍”、“一系列”,是一個內建函數,用於產生一系列連續的整數,創建一個整數列表,語法為“range(start,stop [,step])」;其整數列表的範圍從start值到stop值,但不包括stop。
本教學操作環境:windows7系統、Python3版、Dell G3電腦。
range的意思為「範圍」、「一系列」。
python range()
#range是python中的內建函數,用於產生一系列連續的整數,建立整數列表,一般用在for 迴圈。
range()函數語法
range(start, stop[, step])
參數說明:
start: 計數從 start 開始。預設是從 0 開始。例如range(5)等價於range(0, 5);
stop: 數到 stop 結束,但不包含 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]沒有5
step:步長,預設為1。例如:range(0, 5) 等價於range(0, 5, 1)
實例
>>>range(10) # 从 0 开始到 10 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(1, 11) # 从 1 开始到 11 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> range(0, 30, 5) # 步长为 5 [0, 5, 10, 15, 20, 25] >>> range(0, 10, 3) # 步长为 3 [0, 3, 6, 9] >>> range(0, -10, -1) # 负数 [0, -1, -2, -3, -4, -5, -6, -7, -8, -9] >>> range(0) [] >>> range(1, 0) []
以下是range 在for 中的使用,循環出runoob 的每個字母:
>>>x = 'runoob' >>> for i in range(len(x)) : ... print(x[i]) ... r u n o o b >>>
分析
(1)range()是可迭代對象,但不是迭代器。
如下圖所示:
補充:
可迭代物件(Iterable):
#凡是可以作用在for迴圈的對像都是可迭代對象,可用collections模組的Iterable來判斷。
迭代器(Iterator):
不僅可以作用於for循環,還能作用於next()函數的物件是迭代器,表示一個惰性計算的序列,可用collections模組的Iterator來判斷。
如果可迭代物件想變成迭代器,可以使用iter()函數:
iter(range(3))
#在for迴圈時,可迭代物件與迭代器的性能是一樣的,即它們都是惰性求值的,在空間複雜度與時間複雜度上並無差異。可迭代物件與迭代器兩者的差異是「一同兩不同」:相同的是都可惰性迭代(__Iter__方法),不同的是可迭代物件不支援自遍歷(即__next__方法),而迭代器本身不支援切片(即__getitem__方法)。
(2)range()是不可變的序列類型,可以進行判斷元素、尋找元素、切片等操作,但不能修改元素。
總之:range() 是可迭代物件而不是迭代器,range 物件是不可變的等差序列。
相關教學推薦:Python影片教學
#以上是python裡range什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!