新聞中心
python中的for循環(huán)是一個通用的序列迭代器,可以遍歷任何有序的序列對象內(nèi)部的元素,(注意是遍歷),也就是說循環(huán)的方式一開始就固定好了,本質(zhì)上是遍歷。

成都創(chuàng)新互聯(lián)公司專注于惠城網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供惠城營銷型網(wǎng)站建設,惠城網(wǎng)站制作、惠城網(wǎng)頁設計、惠城網(wǎng)站官網(wǎng)定制、微信小程序開發(fā)服務,打造惠城網(wǎng)絡公司原創(chuàng)品牌,更為您提供惠城網(wǎng)站排名全網(wǎng)營銷落地服務。
python:代碼
count = 0for i in range(8): if i % 2 == 0:
i += 2 print(i, end=' ')
count += 1print('\n總次數(shù)',count)返回結果
2 1 4 3 6 5 8 7 總次數(shù) 8
我的本意是想讓這個程序遇到偶數(shù)跳兩個,很顯然,它還是執(zhí)行了八次
而c++代碼就可以用for實現(xiàn)這個功能:
for(int i = 1; i<=8;i++)
{
if(i%2==0){
i += 2;
}
cout<結果為
1 4 5 8
python里要簡單的實現(xiàn)上述功能,則需要用while了。
總結: 里的 只是對一個有序序列的遍歷
深層次原因:
python 中的for循環(huán)實質(zhì)上是一個迭代器,迭代器在一個獨立的線程中工作,并且擁有mutex(互斥)鎖,即只有一個進程能訪問這個可迭代對象。
當?shù)鞅粍?chuàng)建時,在這里是,它生成一個內(nèi)存索引表,這個表指向可迭代對象,在這里是range(8)。當i改變時,因為mutex鎖的原因,這個索引表的內(nèi)容并沒有同步改變。也可以說成,此非彼。
但是如果是引用,那沒有問題,這也很容易理解,比如在循環(huán)里打印print(i+2)什么的,都可以的。引用的還是那個
當然, python中的循環(huán)也是可以改變循環(huán)次數(shù)的,重點在這句話--這個迭代器建立的內(nèi)存索引表指向一個可迭代對象。
我們來看看列表,例如
a= [1,2,3,4]
這個a列表本質(zhì)上是對a[0],a[1],a[2],a[4]的引用,而又因為列表本身是一個可迭代對象,所以我們改變這個列表(可迭代對象)的內(nèi)部引用即可
count = 0
for i in a:
a[1:] = [1]
count += 1
print(count)
count 的結果為2
而上面的\color{red}{range}我們是沒辦法對其內(nèi)部操作的,第一個i是對內(nèi)存索引表的挨個查找,第二個i是新的對象
而對于列表,我們直接改變了可迭代對象的結構,也就是說內(nèi)存索引表本身發(fā)生了變化。
while
Python中的while循環(huán)是當條件滿足時,便一直執(zhí)行,當條件不滿足時,會停止
例如
while True:
print(1)
上面例子就是一個死循環(huán)。
分享題目:創(chuàng)新互聯(lián)Python教程:手把手教你使用python中的循環(huán)for和while
新聞來源:http://www.dlmjj.cn/article/djhpspp.html


咨詢
建站咨詢
