PyThon range()函式中for迴圈用法

fondtiger發表於2021-09-11

PyThon range()函式中for迴圈用法

最初range和xrange都生成可以用for迴圈迭代的數字,然而在python2和3裡實現方式並不完全一致,下面著重講講python3的range()函式for迴圈用法。

1、函式語法

range(start, stop, [step])

2、引數說明

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)

3、在python3.8下

>>> print(list(range(5))) #從0開始,有5為正整數,到5結束,不包括5;步長=step=1為預設
 
[0, 1, 2, 3, 4]
 
>>> print(list(range(0,-10,-1))) #從0開始,到-10結束,不包括-10,步長=step=-1
 
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
 
>>> print(list(range(5,50,10)))
 
[5, 15, 25, 35, 45]

4、for語句連用

for i in range(5): #注意冒號不可少,否則有語法錯誤
 
print(i,end=',')
 
0,1,2,3,4,xgj@xgj-PC:~$
 
x = 'runoob'
 
for i in range(len(x)) :
 
print(x[i])

執行結果:

xgj@xgj-PC:~$ /usr/bin/python3.8 /home/xgj/Desktop/cy.py
 
r
 
u
 
n
 
o
 
o
 
b
 
xgj@xgj-PC:~$

注意:以上為正整數,升序的順序

示例:假設:12月31日,離新年只有10秒

 
print("The New Year is upon us !")
 
for i in range(10,0,-1):
 
print(str(i)+'...')
 
print("Happy New Year !")

輸出結果:

 
The New Year is upon us !
 
10...
 
9...
 
8...
 
7...
 
6...
 
5...
 
4...
 
3...
 
2...
 
1...
 
Happy New Year !

區別:

1、其實python3是range()和python2是xrnage(),有區別的

2、應該是技術進步,但是在這個模組不一定,可能叫“惰性技術”。

3、佔記憶體檢測

import sys
 
r=range(1,10000)
 
size_r=sys.getsizeof(r)
 
print(f"The range() function uses {size_r} bytes of memory.")

用python2直譯器不了,然而python3.8直譯器得到:

The range() function uses 48 bytes of memory.
 
-----------------------------------------
 
import sys
 
xr=xrange(1,10000)
 
size_xr=sys.getsizeof(xr)
 
print(f"The xrange() function uses {size_xr} bytes of memory.")

以上就是python裡range()函式的用法,順帶給大家演示了在python2和python3裡的不同。好啦~如果想要了解更詳細的實用教程,可以點選檢視。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2508/viewspace-2832516/,如需轉載,請註明出處,否則將追究法律責任。

相關文章