python x y z 1_Python下的数值列表 - range(x,y,z)函数
本文討論Python下的數(shù)值列表 - range(x,y,z)函數(shù)的應(yīng)用,并分析其計數(shù)過程.
本文節(jié)選自作者的《Python編程基礎(chǔ)及應(yīng)用》視頻教程。Python編程基礎(chǔ)及應(yīng)用_嗶哩嗶哩 (゜-゜)つロ 干杯~-bilibili?www.bilibili.com
1. range(x)、range(x,y)
print("output of range(5):")
for i in range(5):
print(i)
print("output of range(2,5):")
for x in range(2,5):
print(x)
執(zhí)行結(jié)果:
output of range(5):
0
1
2
3
4
output of range(2,5):
2
3
4
range(x,y)在解釋器內(nèi)部并不是一個嚴(yán)格意義上的列表,而是一個稱為range的不常用的數(shù)據(jù)類型。如下述代碼所示:
#rangelist2.py
x = range(5)
print(x[2])
print(x)
print(type(x))
執(zhí)行結(jié)果:
2
range(0, 5)
如果真的需要把range轉(zhuǎn)換成列表,可以通過類型轉(zhuǎn)換實現(xiàn):
#range2list.py
x = range(5)
x = list(x)
print(type(x),x)
執(zhí)行結(jié)果:
[0, 1, 2, 3, 4]
2. range(x,y,z)
更復(fù)雜的range形式:
#fours.py
fours = list(range(0,17,4))
print(fours)
執(zhí)行結(jié)果:
[0, 4, 8, 12, 16]
3 理解range計數(shù)過程
讀者或許對range(x,y,z)的輸出結(jié)果感到疑惑,看看下面這個流程圖。
現(xiàn)以range(0,17,4)為例,依上述流程圖說明輸出集合為什么是[0,4,8,12,16]。首先,計數(shù)取值x=0,然后開始循環(huán):
- 0 < 17,輸出0;
- 計數(shù) = 0 + 4 = 4;
- 4 < 17,輸出4;
- 計數(shù) = 4 + 4 = 8;
- 8 < 17, 輸出8;
- 計數(shù) = 8 + 4 = 12;
- 12 < 17, 輸出12;
- 計數(shù) = 12 + 4 = 16;
- 16 < 17, 輸出16;
- 16 + 4 = 20;
- 20 < 17不滿足,循環(huán)結(jié)束。
如果你有C/C++經(jīng)驗,下述代碼更容易描述range(x,y,z)的計數(shù)過程,事實上,Python的解釋器就是用C/C++編寫的。
for (int i=x;i
output(i);
}
上述range(x,y,z),如果z<0,相應(yīng)流程圖如下:
作者試了試如下代碼:
numbers = list(range(9,2,-2))
print(numbers)
執(zhí)行結(jié)果:
[9, 7, 5, 3]
該你了,請依上述流程圖,人肉執(zhí)行range(9,2,-2)的計數(shù)過程,驗證上述輸出。
如果你有C/C++經(jīng)驗,下面的代碼能更容易地解釋z小于0時range(9,2,-2)的計數(shù)過程:
for (int i=x;i>y;i+=z){
output(i);
}
本文節(jié)選自作者的《Python編程基礎(chǔ)及應(yīng)用》視頻教程。想完整零基礎(chǔ)學(xué)習(xí)Python程序設(shè)計,歡迎使用此免費視頻教程。Python編程基礎(chǔ)及應(yīng)用_嗶哩嗶哩 (゜-゜)つロ 干杯~-bilibili?www.bilibili.com
版權(quán)聲明 本文可以在互聯(lián)網(wǎng)上自由轉(zhuǎn)載,但必須:注明出處(作者:海洋餅干叔叔)并包含指向本頁面的鏈接。 本文不可以以紙質(zhì)出版為目的進行改編、摘抄。
總結(jié)
以上是生活随笔為你收集整理的python x y z 1_Python下的数值列表 - range(x,y,z)函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python soup提取叶子标签_py
- 下一篇: python源代码最多的学习网站_史上最