帶你學(xué)習(xí)Python中優(yōu)雅的for循環(huán)
For循環(huán)是必不可少的編程技能。本文讓我們了解如何正確在Python中使用它們。
像任何其他編程語言一樣,Python循環(huán)是避免編寫重復(fù)代碼的好方法。但是,與Python的while循環(huán)不同,for循環(huán)是確定的控制流語句,可為您提供對(duì)系列中每個(gè)項(xiàng)目的更多權(quán)限。
無論您是Python初學(xué)者還是已經(jīng)有一些使用它的經(jīng)驗(yàn),扎實(shí)地了解它的for循環(huán)都是解決與數(shù)組相關(guān)的問題的關(guān)鍵。在這里,我們來看看Python的for循環(huán)是如何工作的,以及一些如何使用它來解決編碼難題的示例。
For循環(huán)如何在Python中工作
Python的for循環(huán)通過遍歷數(shù)組的序列來工作。從本質(zhì)上講,它在處理諸如字符串,列表,元組,字典或集合之類的序列時(shí)很有用。一個(gè)在關(guān)鍵字通常遵循了Python中循環(huán)。一個(gè)用于循環(huán)在所有的編程語言相似的特點(diǎn)。例如,盡管存在語法差異,但是Java的for循環(huán)的特性類似于Python的for循環(huán)的工作方式。Python for循環(huán)的常用語法如下:
- for new_variable in parent_variable:
- execute some statements
如前所述,與while循環(huán)不同,for循環(huán)功能更強(qiáng)大,因?yàn)樗诹髦刑峁┝烁嗟目刂?。如何使用Python的For循環(huán):實(shí)際示例現(xiàn)在,讓我們看一些如何在Python中使用for循環(huán)的實(shí)際示例。下面的代碼段輸出列表中的每個(gè)項(xiàng)目:
- release = ["linuxmi", "ubuntu", "centos", "debian", "redhat"]
- for i in release:
- print(i)
您還可以修改上面的代碼以輸出具有字母“ a”的任何項(xiàng)目:
- release = ["linuxmi", "ubuntu", "centos", "debian", "redhat"]
- for i in release:
- if "a" in i:
- print(i)
Python中 的for循環(huán)也采用直接的else語句:
- b=[2, 3, 5]
- for i in b:
- print(i)
- else:
- print("循環(huán)結(jié)束")
您也可以使用break語句來更改for循環(huán)的流程:
- b=[2, 3, 5]
- for i in b:
- if i>3:
- break
- print(i)
您還可以使用continue關(guān)鍵字的循環(huán):
- b=[2, 3, 5]
- for i in b:
- if i>3:
- continue
- print(i)
如下圖:
在Python中使用帶有列表和字符串文字的for循環(huán)
現(xiàn)在看一下下面的代碼,輸出1到100之間的所有正整數(shù)。為此,您首先要使用Python的內(nèi)置range函數(shù)創(chuàng)建1到100之間的數(shù)字列表:
- for x in range(1, 101):
- print(x)
您可以通過引入條件語句來輸出1到100之間的所有奇數(shù)來修改該代碼塊:
- for x in range(1, 101):
- if x%2==1:
- print(x)
但是,您也可以在上面代碼的輸出中創(chuàng)建一個(gè)“ 2 by output”乘法表。要做到這一點(diǎn),你只需要再添加一些如下這樣的語句,如下所示:
- for x in range(1, 101):
- if x%2==1:
- print(x, "x", 2, "=", x * 2)
如下圖:
現(xiàn)在,您已經(jīng)了解了for循環(huán)如何使用整數(shù)列表。讓我們看一下如何在字符串中使用for循環(huán)。
下面的代碼返回句子中每個(gè)字符串的序列:
- a = "linuxmi"
- for i in a:
- print(i)
我們還可以使用for循環(huán)來計(jì)算變量a中的字符串(包括空格)的數(shù)量:
- a = ["welcome linuxmi.com"]
- for i in a:
- print(i.count(''))
但是,您也可以將for循環(huán)放在單獨(dú)的變量中,并通過像上面這樣重寫代碼來獲得類似的結(jié)果:
- a = ["welcome linuxmi.com"]
- c=[b.count('') for b in a]
- print(c)
注意:要獲取字符計(jì)數(shù),請(qǐng)確保count關(guān)鍵字后面的括號(hào)中的引號(hào)之間沒有空格。
您還可以修改上面最后兩個(gè)代碼片段中的每一個(gè),以使用for循環(huán)創(chuàng)建一個(gè)簡單的單詞計(jì)數(shù)器。在這種情況下,你需要做的是在括號(hào)中的每個(gè)引號(hào)之間插入一個(gè)空格:
- a = ["welcome linuxmi.com"]
- for i in a:
- print(i.count(' ') + 1)
如下圖:
就像您對(duì)字符計(jì)數(shù)所做的一樣,您還可以通過將for循環(huán)放在這樣的變量中來重寫上面的單詞計(jì)數(shù)代碼:
- a = ["welcome linuxmi.com"]
- c=[b.count(' ') + 1 for b in a]
- print(c)
請(qǐng)一定要注意括號(hào)中的引號(hào)之間的單個(gè)空格。
如下圖:
對(duì)數(shù)組使用Python For循環(huán)
您也可以使用for循環(huán)從數(shù)組中獲取特定元素。
假設(shè)您有一組水牛buffalo,“健康healthy”動(dòng)物的值為“是Yes”,而“不健康”水牛buffalo的值為“否No”。每只水牛buffalo都有一個(gè)唯一的名稱,您想隔離所有患病的水牛buffalo。
您可以使用for循環(huán)輸出所有不健康的水牛buffalo。要查看在這種情況下for循環(huán)的有用性,下面的代碼輸出數(shù)組中所有不健康的水牛buffalo的名稱:
- array = [{"name":"buffalo1", "healthy":"Yes"},
- {"name":"buffalo3", "healthy":"No"},
- {"name":"buffalo4", "healthy":"Yes"},
- {"name":"buffalo5", "healthy":"Yes"},
- {"name":"buffalo8", "healthy":"No"},
- {"name":"buffalo7", "healthy":"No"},
- {"name":"buffalo9", "healthy":"No"}
- ]
- for buffalos in array:
- if buffalos["healthy"]=="No":
- print("Quarantine", buffalos["name"])
如下圖:
OK,本文就這樣,希望對(duì)你有所幫助!