您現在的位置是:首頁 > 網頁遊戲首頁網頁遊戲
第八章:Python入門之“控制語句(for迴圈語句)”
- 2023-01-19
怎麼終止for後面的所有迴圈
8。2、for-in迴圈語句
8。2。1、for-in迴圈語句格式
另外:
for-in迴圈語句也可與else搭配使用,即當for-in執行完畢後,執行else裡面的執行語句,格式如下:
8。2。2、for-in迴圈語句舉例
1、for-in迴圈遍歷輸出
備註:
for i in dt:迴圈的是字典的鍵,也可用for i in keys(),若想迴圈字典的值,可用for i in dt。values(),若想迴圈字典的鍵值對,可用for i in dt。items(),詳情可參見第六章的字典內建函式操作。
2、for-in與else配合使用
8。2。3、for-in迴圈語句內建函式
for迴圈的內建迭代函式有以下4個:
v
enumerate(obj):編碼迭代
v
sorted(obj):排序迭代
v
reversed(obj):反轉迭代
v
zip(obj1,obj2,。。。):並行迭代
1、enumerate(obj[,start])函式
此函式在迭代的時候返回序列中的編號(預設從
0 開始,可設定start改變其開始值),又返回序列中的元素,因為返回兩個值,所以for的迴圈變數就需要 2 個,分別接受元素的編號和元素的值。如:
2、
sorted(obj[,reverse=True])
函式
此函式在
for迴圈遍歷輸出時按元素的值從小到大輸出,可設定引數reverse=True,讓其從大到小輸出,如:
說明:此方法其實就是先將列表li按元素的值從小到大重新排序再輸出,跟列表內建函式sort()類似,只是此語句執行完後不會對原列表進行進行更改,而sort()是對原列表進行更改。
3、
reversed(obj)
函式
此函式在
for迴圈遍歷輸出時從尾到頭進行輸出,如:
4、
zip(obj1,obj2,。。。)
函式
此函式可以同時迴圈遍歷多個物件,如果物件的元素長度(即元素個數)不一樣時,以元素長度最短的為準,即遍歷完長度最短的物件後停止遍歷,如:
8。2。4、for-in與range()函式
for-in迴圈常與range()函式搭配使用,range()是一個區間函式,即其返回的是一個區間,range()函式格式如下:
range(start,end,step):
1、
start:開始的值,預設從 0 開始(0可以不寫),如range(10)等價於range(0,10),但有step的情況下,0不可以省略,如range(0,10,2)不能寫成range(10,2)。
2、
end:結束的值,但不包括end值,即其區間是左閉右開,如range(0,10),其輸出是:0,1,2,3,4,5,6,7,8,9,不包括10。
3、
step:步長,預設為1(可以不寫),如range(0,10)等價於range(0,10,1)。
注意:
range()括號裡的數值只能是整數,不能是浮點數(即小數)。
8。2。5、for-in與break、continue用法
在
for-in迴圈中,如果想跳出迴圈,可搭配break和continue使用,其作用如下:
v
break:結束迴圈本身,即停止執行迴圈的所有程式碼(不再執行迴圈程式碼,表示退出迴圈)。
v
continue:結束本次迴圈,即停止執行本次迴圈,進入下一個迴圈繼續執行(依然執行迴圈程式碼,只是跳過本次迴圈,進入下一次迴圈,直到迴圈結束)。
1、break舉例
2、continue舉例
8。2。6、for-in與推導式
for-in還有一個很強大的用法,那就是列表推導式,他可以利用range()、列表、元組、字典和集合等資料型別,快速生成一個我們需要的列表、元組、字典或集合等,下面介紹3中型別的推導式:
8。2。6。1、列表推導式
顧名思義,就是利用
for-in迴圈,快速生成一個列表,其格式如下:
列表變數
= [表示式 for 變數 in 可迭代物件 [if 條件判斷]]
其中:
[if 條件判斷] 不是必須的,可定義,也可省略。
表示式格式說明:
1。列表推導式先執行for-in迴圈,然後再執行表示式。
2。若存在[if 條件判斷],先執行for-in迴圈,然後執行[if 條件判斷],最後執行表示式。
3。若存在多個for-in迴圈,則返回的結果是多個for迴圈的笛卡爾積。
4。列表推導式可以巢狀,和巢狀for-in迴圈的原理相同。
列表推導式舉例:
1、單個for-in迴圈
2、多個for-in迴圈
8。2。6。2、元組推導式
跟列表推導式類似,元組推導式就是利用
for-in迴圈,快速生成一個元組,不過其生成的不是元組,而是一個物件,若想成為元組,可以利用tuple進行轉換,其格式如下:
元組變數
= tuple(表示式 for 變數 in 可迭代物件 [if 條件判斷])
其中:
[if 條件判斷] 不是必須的,可定義,也可省略,元組推導式是中括號()。
元組推導式舉例:
備註:以上舉例是單個
for-in迴圈,也有多個for-in迴圈巢狀,跟列表一樣,在此不再贅述,感興趣的朋友可以自己練習。
8。2。6。3、字典推導式
字典推導式就是利用
for-in迴圈快速生成一個字典,其格式如下:
字典推導式舉例:
備註:字典推導式也可以加[if 條件判斷],可以自己試試。
8。2。6。4、集合推導式
集合推導式就是利用
for-in迴圈快速生成一個集合,其格式如下:
集合推導式舉例:
備註:以上舉例是單個
for-in迴圈,也有多個for-in迴圈巢狀,跟列表一樣,在此不再贅述,感興趣的朋友可以自己練習。