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

