python-for x in range的用法(注意要點(diǎn)、細(xì)節(jié))
for x in ...循環(huán) 就是把每個元素代入變量x,然后執(zhí)行縮進(jìn)塊的語句。
range()函數(shù),可以生成一個整數(shù)序列,再通過list()函數(shù)可以轉(zhuǎn)換為list。
比如我們想計(jì)算1-10的整數(shù)之和,
可以用一個sum變量做累加:
sum = 0 for x in [1,2,3,4,5,6,7,8,9,10]: sum = sum + x print(sum)
sum = 0 for x in range(11): sum = sum + x print(sum)
以上兩種表示方法,結(jié)果相同。簡單易錯哦!一定要細(xì)心
range(101)就可以生成0-100的整數(shù)序列
計(jì)算如下:
sum = 0 for x in range(101): sum = sum + x print(sum)
補(bǔ)充:Python中的for i in range(range()函數(shù)的for循環(huán))如何使用,詳細(xì)介紹
range函數(shù)的for循環(huán)
1.定義
range是一個函數(shù),它返回的是一個可迭代對象,大多使用于for循環(huán)中。相當(dāng)于C/Java 里面的 for (int i = m; i < n; i++)循環(huán)
2.兩種形式
range(stop) range(start, stop[, step])
start作為開始值,開始值作為開始的那個數(shù),不輸入的話默認(rèn)從0開始
stop作為結(jié)束值,結(jié)束值所代表的不是結(jié)束的那個值,而是結(jié)束的那個下標(biāo),結(jié)束值的下標(biāo)是從0開始算起。例如你輸入5,那么輸出之后就是4。(注意:結(jié)束值不可省略)
step作為步進(jìn)值,不進(jìn)值代表一次你想要步進(jìn)多少個,假如輸入1的話,那輸出之后就可以看到每一個數(shù)據(jù)之間相隔了1的差距,如果步進(jìn)值省略的話,它的默認(rèn)值依舊是1,只有當(dāng)你自己輸入其他的步進(jìn)值,它才會改變。
3.可理解性例子
根據(jù)代碼來理解range函數(shù)的重要值,將代碼復(fù)制到你的pycharm中,就可以看到三個值的含義了
代碼
#coding=utf-8
import time
#代表1到4,不包含4
for i in range(1, 4):
print(i)
#設(shè)置停頓三秒
time.sleep(3)
#代表1到10,間隔2,不包含10
for i in range(1, 10, 2):
print(i)
time.sleep(3)
#代表0到5,不包含5
for i in range(5):
print(i)
time.sleep(3)
4.range函數(shù)的特性詳述
4.1 左閉右開
eg:
代碼:
#1<=i<6
for i in range(1, 6):
print(i)
輸出結(jié)果

從上圖可知,1是取到的,而6是沒有取到的,相當(dāng)于數(shù)學(xué)中的左閉右開區(qū)間[1,6)
4.2 開始值默認(rèn)為0
如果開始值不寫的話,就會默認(rèn)從0開始
eg:
代碼
#開始值不輸入的話默認(rèn)從0開始,打印輸出0到9
for i in range(10):
print(i)
運(yùn)行結(jié)果

4.3 步長值默認(rèn)為1
代碼
#步長值不輸入的話默認(rèn)為1
for i in range(1, 10):
print(i)
運(yùn)行結(jié)果

當(dāng)我們輸入步長值為2的時候:
代碼
#步長值輸入為2
for i in range(1, 10, 2):
print(i)
運(yùn)行結(jié)果

由上可知,步長值為2的時候,他的間隔就為2
4.4 range函數(shù)的反向輸出
代碼
#打印輸出10,9,8,7,6,5,4,3,2,1,0
for i in range(10, -1, -1):
print(i)
運(yùn)行結(jié)果

由上可知,range(10,-1,-1)反向輸出10,9,8,7,6,5,4,3,2,1,0。此時的結(jié)束值為-1,而-1取不到,因此取到0,長是-1,相當(dāng)于每次-1。
5.與列表list的使用
代碼
list1 = ["看不", "見你", "的", "笑", "我怎么", "睡", "得", "著"]
for i in range(len(list1)):
print(i, list1[i])
運(yùn)行結(jié)果

6.range與list的區(qū)別
range()是依次取順序的數(shù)值,常與for循環(huán)一起用,如for范圍內(nèi)的每個(0, 5):for循環(huán)執(zhí)行5次,每個取值是0〜4 而list()是把字符串轉(zhuǎn)換為列表,如a = '01234' , b = list(a), a打印出來會是一個列表:[‘0', ‘1',‘2',‘3',‘4'], 如a = [0, 1, 2, 3, 4],輸出的結(jié)果就會是[0, 1, 2, 3, 4]
代碼
#對比range與list
for i in range(0, 5):
print(i)
a = [0, 1, 2, 3, 4]
print(a)
運(yùn)行結(jié)果

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
python opencv鼠標(biāo)畫矩形框之cv2.rectangle()函數(shù)
鼠標(biāo)操作屬于用戶接口設(shè)計(jì),以前一直使用Qt來做,但是如果只需要簡單的鼠標(biāo),鍵盤操作,直接調(diào)用opencv庫的函數(shù)也未嘗不可,下面這篇文章主要給大家介紹了關(guān)于python opencv鼠標(biāo)畫矩形框cv2.rectangle()函數(shù)的相關(guān)資料,需要的朋友可以參考下2021-10-10
Python 實(shí)現(xiàn)打印單詞的菱形字符圖案
這篇文章主要介紹了Python 實(shí)現(xiàn)打印單詞的菱形字符圖案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04
使用pycallgraph分析python代碼函數(shù)調(diào)用流程以及框架解析
這篇文章主要介紹了使用pycallgraph分析python代碼函數(shù)調(diào)用流程以及框架解析,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03
python爬取本站電子書信息并入庫的實(shí)現(xiàn)代碼
這篇文章主要介紹了python爬取本站電子書信息并入庫的實(shí)現(xiàn)代碼,需要的朋友可以參考下2020-01-01
一文教會你用python連接并簡單操作SQLserver數(shù)據(jù)庫
最近要將數(shù)據(jù)寫到數(shù)據(jù)庫里,學(xué)習(xí)了一下如何用Python來操作SQLServer數(shù)據(jù)庫,下面這篇文章主要給大家介紹了關(guān)于用python連接并簡單操作SQLserver數(shù)據(jù)庫的相關(guān)資料,需要的朋友可以參考下2022-09-09
python實(shí)現(xiàn)通過隊(duì)列完成進(jìn)程間的多任務(wù)功能示例
這篇文章主要介紹了python實(shí)現(xiàn)通過隊(duì)列完成進(jìn)程間的多任務(wù)功能,結(jié)合實(shí)例形式分析了Python隊(duì)列完成進(jìn)程間的多任務(wù)以及進(jìn)程池pool相關(guān)操作技巧,需要的朋友可以參考下2019-10-10

