本篇內(nèi)容介紹了“Python中的循環(huán)類型有哪些”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
目前創(chuàng)新互聯(lián)建站已為1000多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、陳巴爾虎網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
在編程中,循環(huán)意味著以相同的順序多次重復(fù)同一組計算。
想想現(xiàn)實生活中的情況。你是一位在森林里測量樹木的野外生物學(xué)家。你選一棵樹,測量它的直徑和高度,把它們寫在你的筆記本上,估計它的總體積。接下來,你再選一棵樹,測量它的直徑和高度,把它們寫在你的筆記本上,估計它的總體積。然后,你再選一棵樹,測量它的直徑和高度,把它們寫在你的筆記本上,估計它的總體積。
您將不斷重復(fù)相同的過程,直到示例中的所有樹都用完為止。在編程行話中,您將遍歷每棵樹,并以相同的順序執(zhí)行相同的任務(wù)集。
回到編程,如果給您一個整數(shù)值列表,并要求對每個項進行平方,然后再加5,最后報告結(jié)果——這就是一個循環(huán)的例子。
那么我們可以循環(huán)什么呢?基本上,任何可迭代的數(shù)據(jù)類型都可以使用循環(huán)進行操作。Python中的可迭代對象是以不同數(shù)據(jù)格式存儲的值序列,例如:
列表(例如。[15]10、12、13日)
元組(例如(10,12,13,15))
字典(例如{' Name ': ' Alan ', ' Age ': 25})
字符串(例如' Data Science ')
主要有兩種循環(huán):for循環(huán)和while循環(huán)。其中,for循環(huán)是應(yīng)用于數(shù)據(jù)科學(xué)問題中最常見的一種循環(huán)。關(guān)鍵的區(qū)別是:
for循環(huán)對iterable對象中的每個元素進行有限次數(shù)的迭代
while循環(huán)一直進行,直到滿足某個條件
遍歷一個列表非常簡單。給一個值列表,并要求對每個項做一些事情。假設(shè)你有:
my_list = [1,2,3,4]
然后要求你計算列表中每個值的平方:
for each_value in my_list: print(each_value * each_value)Out: 1 4 9 16
類似地,你可以做一些更復(fù)雜的循環(huán)(例如'嵌套循環(huán)')。例如,給你兩個列表并要求:
(i)將一個列表的值與另一個列表相乘
(ii)將它們追加到一個空列表中
(iii)打印出新的列表。
new_list = []list1 = [2, 3, 4] list2 = [4, 5, 6]for i in list1: for j in list2: new_list.append(i*j) print(new_list)Out: [8, 10, 12, 12, 15, 18, 16, 20, 24]
遍歷元組可能會有點復(fù)雜,這取決于元組的結(jié)構(gòu)和要完成的任務(wù)。
讓我們在一個列表中存儲一些元組,每個元組代表一個類中學(xué)生的姓名和年齡:
students = [('Allie', 22), ('Monty', 18), ('Rebecca', 19)]
現(xiàn)在的任務(wù)是:
(i)提取所有的年齡
(ii)將它們存儲在一個列表中
(iii)計算平均年齡
ages = []for i,j in students: ages.append(j) avg = sum(ages)/len(ages) print(avg) Out: 19.666666666666668
這里的每個元組都包含兩個條目(姓名和年齡)。即使您對名稱不感興趣,通過i和j,您將指定這兩個項目,并要求將項目j (age)追加到一個新的列表中。它被稱為“元組拆包”。
Python中的字典是鍵-值對的集合:字典中的每一項都有一個鍵和一個相關(guān)聯(lián)的值。一個字典的例子:
# fruit price dictionary fruit_prices = {"apple": 2.50, "orange": 4.99, "banana": 0.59}
您可以循環(huán)遍歷這些dictionary元素并執(zhí)行各種操作。下面是一些例子:
提取字典中的所有鍵值:
for i in fruit_prices.keys(): print(i) Out: apple orange banana
將所有的值存儲在一個列表中:
values = [] for i in fruit_prices.values(): values.append(i) print(values) Out: [2.5, 4.99, 0.59]
讓我們考慮字符串- " Hello "。它看起來像一個可迭代對象嗎?事實上,它是。
for i in 'Hello': print(i) Out: H e l l o
可以使用for循環(huán)解包字符串中的每個字符,并對它們執(zhí)行各種操作。
同樣,也可以遍歷句子中的每個單詞。但是在這種情況下,需要一個額外的步驟來分割句子。
sent = 'the sky is blue' # splitting the sentence into words sent_split = sent.split() # extract each word with a loop for i in sent_split: print(i) Out: the sky is blue
與for循環(huán)類似,while循環(huán)重復(fù)執(zhí)行一個代碼塊——只要條件為真。只有當(dāng)循環(huán)條件為false時,循環(huán)才會中止。
while循環(huán)的一般結(jié)構(gòu)是這樣的:
i = 0while i <=5: print(i) i = i+1 # option to break out of the loop Out: 0 1 2 3 4 5
在上面的每一次迭代中,i的值都被輸出到5。在此之后,while循環(huán)條件變?yōu)閒alse(即i = 6時,i≤5變?yōu)閒alse)。
user_id = 'user101' while True: user = input('Enter your user ID: ') if user == user_id: print("You have entered ", user) break else: print("Enter a valid user ID ")
有三種所謂的循環(huán)控制關(guān)鍵字:continue, break, pass。這些語句改變循環(huán)流,并允許程序在觸發(fā)特定外部條件時退出或跳過部分循環(huán)。
如果在循環(huán)中存在break語句,則在滿足條件時終止循環(huán)。
string = 'hello, there' for i in string: if i == ',': break print(i) Out: h e l l o
在上面的代碼片段中,我們要求程序在找到字符串中的逗號并執(zhí)行下一條語句(打印i)
continue語句簡單地跳過一個迭代并繼續(xù)到下一個迭代,而不是跳出循環(huán)。
讓我們執(zhí)行上面相同的代碼,但是使用continue關(guān)鍵字。
string = 'hello, there' for i in string: if i == ',': continue print(i)Out: h e l l o t h e r e
在這種情況下,如果循環(huán)遇到了逗號循環(huán)會繼續(xù)跳過逗號。
pass不做任何事情,它只是一個還沒有寫的語句的占位符。
string = 'hello, there' for i in string: pass
如果我們沒有在那里放入一個pass,它將拋出一個錯誤消息,其余的代碼將不會執(zhí)行。
“Python中的循環(huán)類型有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!