最初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.”)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/129255.html