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