Python 里的 range 是干嘛使用的
一、range 是干嘛的?
range() 用來生成一個整數(shù)序列,常用于 for 循環(huán)。
for i in range(5):
print(i)
輸出:
0
1
2
3
4
二、三種用法
① 一個參數(shù)
range(stop)
表示:從 0 開始,到 stop 結束(不包含 stop)
range(5)
= 0,1,2,3,4
② 兩個參數(shù)
range(start, stop)
從 start 到 stop(不包含 stop)
range(2, 6)
= 2,3,4,5
③ 三個參數(shù)
range(start, stop, step)
step 是步長
range(0, 10, 2)
= 0,2,4,6,8
三、倒序寫法
range(10, 0, -1)
輸出:
10,9,8,7,6,5,4,3,2,1
? 注意:
- step 必須為負數(shù)
- stop 依然不包含
四、range 的重要特性(很多人不知道)
1?? 不是真正的列表
print(range(5))
輸出:
range(0, 5)
它是一個惰性對象(lazy object)
不會一次性生成所有數(shù)字,節(jié)省內存。
如果你要變成列表:
list(range(5))
2?? 占用內存極小
range(1000000000)
不會爆內存。
因為它只存:
- start
- stop
- step
五、常見用法
① 控制循環(huán)次數(shù)
for _ in range(10):
print("hello")
② 用索引遍歷列表(但不推薦)
nums = [10, 20, 30]
for i in range(len(nums)):
print(nums[i])更推薦:
for num in nums:
print(num)
③ 同時拿索引和值(推薦)
for i, value in enumerate(nums):
print(i, value)
六、常見坑
? 1. 不包含 stop
range(1, 5)
不是 1 到 5
是 1 到 4
? 2. 步長方向錯誤
range(5, 1)
結果是空!
因為默認 step = +1
正確寫法:
range(5, 1, -1)
七、面試??键c
Q:range 是列表嗎?
答:不是,是一個可迭代對象。
Q:range 占內存大嗎?
答:不會,它是惰性的。
八、進階小知識(Python 3)
range 支持:
5 in range(10) # True
因為它支持 O(1) 判斷,不會遍歷。
到此這篇關于Python 里的 range 是干嘛使用的的文章就介紹到這了,更多相關Python range使用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
tensorflow 用矩陣運算替換for循環(huán) 用tf.tile而不寫for的方法
今天小編就為大家分享一篇tensorflow 用矩陣運算替換for循環(huán) 用tf.tile而不寫for的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07
使用Python實現(xiàn)一個網(wǎng)址管理小工具
這篇文章主要介紹了如何使用Python實現(xiàn)一個網(wǎng)址管理小工具,主要用途是幫助用戶整理、存儲和快速訪問常用網(wǎng)站信息,適合需要管理多個常用網(wǎng)站的用戶,相當于一個個性化的 網(wǎng)站收藏夾,比瀏覽器自帶收藏夾更靈活,需要的朋友可以參考下2025-10-10

