日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何使用Python的for循環(huán)

在Python中創(chuàng)建循環(huán)時,通常有兩個選擇:while循環(huán)和for循環(huán)。while很簡單:它只是重復(fù),直到給定的條件不再成立。for循環(huán)比較復(fù)雜,因而功能更強大:for循環(huán)語句集合中遍歷,而不必知道集合的詳細(xì)信息。

成都網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)公司、微信開發(fā)、微信平臺小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。核心團隊均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗,服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:玻璃鋼雕塑等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗,同時也獲得了客戶的一致好評!

Python for 循環(huán)組件

Python for循環(huán)有兩個組件:
    ? 包含或產(chǎn)生要循環(huán)的元素的容器、序列或生成器。一般來說,任何支持 Python迭代器協(xié)議的對象都可以在for循環(huán)中使用。
    ? 保存容器/序列/生成器中每個元素的變量。
在下面的例子中,我們循環(huán)遍歷一個數(shù)字列表,并使用變量digit依次保存每個數(shù)字:

 
 
 
  1. for digit in [3,1,4,1,5,9]: 
  2.     print (digit) 

這將打印:

 
 
 
  1. 3 1 4 1 5 9 

如果要遍歷生成容器或序列的對象,可以使用 Python 的多重賦值語法將其解包。例如:

 
 
 
  1. for letter, number in [["a",1],["b",2]]: 
  2.     print (letter, number)  

輸出:

 
 
 
  1. a 1  
  2. b 2 

常見的 Python for 循環(huán)

以下是 Python for 循環(huán)中使用的一些常見對象:

列表

上面的例子展示了如何使用for循環(huán)迭代列表。請注意,如果您有一個列表,則for循環(huán)提取的每個元素本身就是一個列表。for循環(huán)不會自動“展平”任何類型的嵌套結(jié)構(gòu)。

字符串

Python 中的字符串被認(rèn)為是“序列”——它們可以被迭代,迭代字符串的結(jié)果是字符串中的每個字符。

 
 
 
  1. for letter in "Hello world": 
  2.     print (letter)    

這將產(chǎn)生:

 
 
 
  1.  

字典

使用for循環(huán)遍歷字典會生成字典中的每個鍵。

 
 
 
  1. d1 = { 
  2.     "a": 1, 
  3.     "b": 2 
  4. for key in d1: 
  5.     print (key)  

這將產(chǎn)生:

 
 
 

如果要遍歷字典的值,請使用字典的.values()方法。還可以使用.items()一起遍歷鍵和值:

 
 
 
  1. d1 = { 
  2.     "a": 1, 
  3.     "b": 2 
  4. for key, value in d1.items(): 
  5.     print (key, value) 

這將產(chǎn)生:

 
 
 
  1. a 1  
  2. b 2 

生成器

生成器生成一系列的項,每次調(diào)用一個項。for循環(huán)中使用的生成器的一個常見示例是range。

 
 
 
  1. for n in range(50): 
  2.     print (n)    

這將打印數(shù)字 0 到 49。

請注意,僅僅因為可以在for循環(huán)中使用生成器,并不意味著生成器最終會自行停止。例如,這個for循環(huán)將永遠運行:

 
 
 
  1. def forever(): 
  2.     while True: 
  3.         yield 1 
  4. for n in forever(): 
  5.     print (n)    

在這種情況下,需要采取措施確保循環(huán)可以終止。(參見下面的“流量控制”。)

在Python for循環(huán)中使用索引和枚舉

從 C、C++ 或 Java 等語言來到 Python 的開發(fā)人員通常會創(chuàng)建一個索引變量,用于逐步遍歷正在迭代的對象。舉個例子:

 
 
 
  1. x =[ 3 , 1 , 4 , 1 , 5 , 9 ]  
  2. n = 0而n < len ( x ): print ( x [ n ])  
  3.     n += 1  

這本身并沒有錯,但它忽略了 Python 的工作原理。Python 中的for循環(huán)不需要索引;它可以只遍歷要迭代的對象,而無需對其進行索引。

但是,有時需要在循環(huán)時跟蹤正在處理的元素。Python 的enumerate()實用程序?qū)Υ擞兴鶐椭K枰粋€可迭代對象,并在每次迭代時生成索引和該索引處的對象的元組:

 
 
 
  1. x = [3,1,4,1,5,9] 
  2. for index, n in enumerate(x): 
  3. print (index, n) 
 
 
 
  1. 0 3 
  2. 1 1 
  3. 2 4  
  4. 3 1 
  5. 4 5 
  6. 5 9 

Python for 循環(huán)中的流量控制

for循環(huán)并不總是運行到完成,或完全按順序運行。假如想提前跳出一個for循環(huán),或者跳過循環(huán)中的某個項。為此,Python提供了兩個關(guān)鍵字:break和continue。

 
 
 
  1. for n in range(20): 
  2.     if n % 2 == 0: # if n is a multiple of 2 
  3.         continue   # then skip it 
  4.     # everything after this point is not run 
  5.     # if `continue` is invoked 
  6.     print (n) 
  7. print ("Done")  

這將產(chǎn)生1 3 5 7 9 11 13 15 17 19,然后Done。請注意,當(dāng)循環(huán)結(jié)束時,程序在print(“Done”)處正常繼續(xù)。

 
 
 
  1. for n in range ( 20 ): if n == 10 : break # 完全離開循環(huán)print ( n ) print ( "Done" ) 

打印數(shù)字0到9,然后Done。

請注意,如果循環(huán)嵌套在其他循環(huán)中,break則只會影響當(dāng)前循環(huán)——它不會從所有循環(huán)級別退出。從多個for循環(huán)中退出需要不同的機制,如sentinel變量:

 
 
 
  1. done = False 
  2. for n in range(20): 
  3.     for m in range(40): 
  4.         if n==10 and m==10: 
  5.             done = True 
  6.         if done: break 
  7.     if done: break     

Python for 循環(huán)陷阱

在for循環(huán)中迭代對象的元素時,不要做任何會改變成員或序列長度的事情。例如,如果要在一個列表上迭代,則不要在迭代時從列表中添加或刪除元素。

如果迭代元素的原因是測試每個元素以查看是否需要添加或刪除某些內(nèi)容,那么有一個更好的解決方案。創(chuàng)建一個新的空容器,僅用要保留的元素填充它,然后用新容器替換舊容器。

下面是一個帶有列表的示例。這將創(chuàng)建一個只包含奇數(shù)的新列表: 

 
 
 
  1. old_list = [1,2,3,4,5,6] 
  2. new_list = [] 
  3. for n in old_list: 
  4.     if n % 2: 
  5.         new_list.append(n) 
  6. old_list = new_list  

【譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為.com】


當(dāng)前題目:如何使用Python的for循環(huán)
網(wǎng)站網(wǎng)址:http://www.5511xx.com/article/dphipej.html