Python for循環(huán)的本質(zhì)詳解
Python for-in 循環(huán)詳解:從基礎(chǔ)到本質(zhì)
一、for-in 基本語(yǔ)法:循環(huán) N 次(range() 用法)
for-in 循環(huán)的核心是“遍歷可迭代對(duì)象”,如果想循環(huán)固定的 N 次,可以用 range(N) 生成一個(gè)從 0 到 N-1 的整數(shù)序列。
語(yǔ)法格式:
for 變量 in range(N):
# 循環(huán)體代碼,會(huì)執(zhí)行 N 次
示例:循環(huán) 3 次并打印數(shù)字
for i in range(3):
print(i) # 輸出:0、1、2
說(shuō)明:range(3) 等價(jià)于 [0,1,2],變量 i 依次取序列中的每個(gè)值,每次取值后執(zhí)行循環(huán)體,直到序列遍歷結(jié)束。
二、for-in 遍歷列表:直接取列表元素
當(dāng) in 后面跟列表時(shí),for-in 會(huì)直接遍歷列表中的每個(gè)元素,無(wú)需通過索引訪問。
語(yǔ)法格式:
for 元素 in 列表:
# 循環(huán)體代碼,元素依次等于列表中的每個(gè)值
示例:遍歷水果列表并打印
fruits = ["蘋果", "香蕉", "橙子"]
for fruit in fruits:
print(fruit) # 輸出:蘋果、香蕉、橙子
對(duì)比索引遍歷:如果用 range(len(列表)),可以通過索引取元素,但 for-in 直接遍歷元素更簡(jiǎn)潔:
# 索引遍歷
for i in range(len(fruits)):
print(fruits[i]) # 效果同上,但代碼更長(zhǎng)
三、for-in 的本質(zhì):循環(huán)后變量的值
for-in 循環(huán)中,變量是“臨時(shí)賦值”,每次循環(huán)會(huì)將可迭代對(duì)象的下一個(gè)元素賦給變量。循環(huán)結(jié)束后,變量的值會(huì)保留最后一次賦值的結(jié)果。
示例 1:變量未提前定義
for i in range(3):
pass # 空循環(huán),僅執(zhí)行賦值
print(i) # 輸出:2
示例 2:變量提前定義
即使變量在循環(huán)前已定義,循環(huán)中仍會(huì)被重新賦值,循環(huán)后保留最后一個(gè)值:
i = 100 # 提前定義 i=100
for i in range(3):
pass
print(i) # 輸出:2
本質(zhì)總結(jié):for-in 的變量沒有“作用域限制”,循環(huán)過程中會(huì)覆蓋原有值,循環(huán)結(jié)束后變量不消失,值為最后一次遍歷的元素。
四、擴(kuò)展:其他可迭代對(duì)象
for-in 不僅能遍歷 range 和列表,還能遍歷字符串、元組、字典等可迭代對(duì)象,核心邏輯都是“依次取元素賦值給變量”。
示例:遍歷字符串
for char in "hello":
print(char) # 輸出:h、e、l、l、o
到此這篇關(guān)于Python for循環(huán)的本質(zhì)詳解的文章就介紹到這了,更多相關(guān)Python for循環(huán)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python-redis-lock實(shí)現(xiàn)鎖自動(dòng)續(xù)期的源碼邏輯
這篇文章主要介紹了python-redis-lock實(shí)現(xiàn)鎖自動(dòng)續(xù)期的源碼邏輯,其中用到了多線程threading、弱引用weakref和Lua腳本等相關(guān)知識(shí),需要的朋友可以參考下2024-07-07
Python辦公自動(dòng)化之發(fā)送電子郵件和Outlook集成
Python辦公?動(dòng)化是利?Python編程語(yǔ)?來(lái)創(chuàng)建腳本和程序,以簡(jiǎn)化、加速和?動(dòng)化?常辦公任務(wù)和?作流程的過程,本文主要介紹一下如何利用Python實(shí)現(xiàn)發(fā)送電子郵件和Outlook集成,需要的可以參考下2023-12-12
Python實(shí)現(xiàn)人機(jī)中國(guó)象棋游戲
中國(guó)象棋是一種古老的棋類游戲,大約有兩千年的歷史。本文將介紹如何通過Python中的Pygame模塊實(shí)現(xiàn)人機(jī)中國(guó)象棋游戲,感興趣的可以學(xué)習(xí)一下2022-01-01
Python實(shí)現(xiàn)的數(shù)據(jù)結(jié)構(gòu)與算法之雙端隊(duì)列詳解
這篇文章主要介紹了Python實(shí)現(xiàn)的數(shù)據(jù)結(jié)構(gòu)與算法之雙端隊(duì)列,詳細(xì)講述了雙端隊(duì)列的概念、功能、定義及Python實(shí)現(xiàn)與使用雙端隊(duì)列的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
pytorch 實(shí)現(xiàn)L2和L1正則化regularization的操作
這篇文章主要介紹了pytorch 實(shí)現(xiàn)L2和L1正則化regularization的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2021-03-03

