Python中range()函式的用法
阿新 • • 發佈:2019-02-04
先列幾個range()函式的幾個用法:
函式原型:range(start, end, scan):
引數含義: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)
坑人的現象:
for i in range(5): print i i += 2 print i print '一輪結束'
結果:
因為在for迴圈中,實際上是根據range的值對i進行了賦值操作,所以不論在for中如何更改i的值,在下一次迴圈前,i的值都會重新賦值,所以這個迴圈一共執行5次。
而不是:
要想獲取上面的效果,程式碼如下:
i = 0
while i < 5:
print i
i += 2
print i
print '一輪結束'
如何利用range()獲取一個數的所有約數:
shu=10000
result=[a for a in range(1,shu+1) if shu%a==0]
print(result)
從1到10000,迴圈一共執行了1000次,然後進行判斷並且列印所有約數