2020-09-30
Python培訓(xùn)
好程序員Python培訓(xùn)分享For循環(huán)用法詳解,結(jié)合實(shí)例形式詳細(xì)分析了Pythonfor循環(huán)的功能、原理、用法及相關(guān)操作注意事項(xiàng),下面我們一起來(lái)看一下吧。
Python有兩種類型的循環(huán):for循環(huán)和while循環(huán)。for循環(huán)用來(lái)遍歷可迭代對(duì)象。
可迭代對(duì)象是每次可以返回其中一個(gè)元素的對(duì)象,包括字符串、列表和元組等序列類型,以及字典和文件等非序列類型。還可以使用迭代器和生成器定義可迭代對(duì)象
For循環(huán)示例:
# iterable of cities
cities = ['new york city', 'mountain view', 'chicago', 'los angeles']
# for loop that iterates over the cities list
for city in cities:
print(city.title())
For循環(huán)的組成部分:
循環(huán)的diyi行以關(guān)鍵字for開(kāi)始,表示這是一個(gè)for循環(huán)
然后是iteration_variableiniterable,表示正在被遍歷的是可迭代的對(duì)象,并且用迭代變量表示當(dāng)前正在被處理的可迭代對(duì)象的元素。在此示例中,迭代變量city在diyi次迭代時(shí)將是“newyorkcity”,在第二次迭代時(shí)將是mountainview。
for循環(huán)頭部始終以英文冒號(hào):結(jié)束。
for循環(huán)頭部之后的是在此for循環(huán)的每次迭代時(shí)運(yùn)行的縮進(jìn)代碼塊。在此塊中,我們可以使用迭代變量訪問(wèn)當(dāng)前正在被處理的元素的值。
你可以隨意命名迭代變量。常見(jiàn)模式是為迭代變量和可迭代對(duì)象指定相同的名稱,但是分別使用單復(fù)數(shù)形式(例如‘city'和‘cities')
For循環(huán)創(chuàng)建和修改列表:
# Creating a new list
cities = ['new york city', 'mountain view', 'chicago', 'los angeles']
capitalized_cities = []
for city in cities:
capitalized_cities.append(city.title())
修改列表稍微復(fù)雜些,需要使用新的函數(shù):range():
range()是一個(gè)內(nèi)置函數(shù),用于創(chuàng)建不可變的數(shù)字序列。它有三個(gè)參數(shù),必須都為整數(shù)。range(start=0,stop,step=1)
start是該序列的diyi個(gè)數(shù)字,stop比該序列的最后一個(gè)數(shù)字大1,step是該序列中每個(gè)數(shù)字之間的差。如果未指定的話,start默認(rèn)為0,step默認(rèn)為1(即上述=0和=1)。
如果你在range()的括號(hào)里指定一個(gè)參數(shù),它將用作stop的值,另外兩個(gè)參數(shù)使用默認(rèn)值。E.g.list(range(4))返回[0,1,2,3]
如果你在range()的括號(hào)里指定兩個(gè)參數(shù),它們將用作start和stop的值,step將使用默認(rèn)值。E.g.list(range(2,6))返回[2,3,4,5]
注意,在這些示例中,我們將range封裝在列表中。因?yàn)?/font>range本身的輸出是一個(gè)range對(duì)象。我們可以通過(guò)將其轉(zhuǎn)換為列表或在for循環(huán)中遍歷它,查看range對(duì)象中的值集合。
我們可以使用range函數(shù)為cities列表中的每個(gè)值生成索引。這樣我們便可以使用cities[index]訪問(wèn)列表中的元素,以便直接修改cities列表中的值。
cities = ['new york city', 'mountain view', 'chicago', 'los angeles']
for index in range(len(cities)):
cities[index] = cities[index].title()
雖然修改列表是range函數(shù)的一個(gè)用途,但是并非只有這一個(gè)用途。你將經(jīng)常使用range和for循環(huán)重復(fù)某個(gè)操作一定的次數(shù)。
for i in range(3)
print("Hi!")
For循環(huán)[相關(guān)練習(xí)]
寫(xiě)一個(gè)遍歷names列表以創(chuàng)建usernames列表的for循環(huán)。要為每個(gè)姓名創(chuàng)建用戶名,使姓名全小寫(xiě)并用下劃線代替空格。對(duì)以下列表運(yùn)行for循環(huán):
names = ["Joey Tribbiani", "Monica Geller", "Chandler Bing", "Phoebe Buffay"
應(yīng)該會(huì)創(chuàng)建列表:
usernames = ["joey_tribbiani", "monica_geller", "chandler_bing", "phoebe_buffay"]
解決方案如下:
names = ["Joey Tribbiani", "Monica Geller", "Chandler Bing", "Phoebe Buffay"]
usernames = []
# write your for loop here
for name in names:
usernames.append(name.lower().replace(" ", "_"))
print(usernames)
假設(shè)我們不想創(chuàng)建新的列表,而是修改names列表本身,并編寫(xiě)以下代碼。下面的代碼有什么作用?
names = ["Joey Tribbiani", "Monica Geller", "Chandler Bing", "Phoebe Buffay"]
for name in names:
name = name.lower().replace(" ", "_")
print(names)
分析:這段代碼沒(méi)有效果。在每次迭代時(shí),name變量設(shè)為從該列表中獲取的一個(gè)字符串。然后賦值語(yǔ)句創(chuàng)建一個(gè)新的字符串(name.lower().replace("","_"))并將name變量更改為該字符串。要修改該列表,你必須使用range對(duì)該列表本身操作。
寫(xiě)一個(gè)使用range()遍歷usernames中的職位以修改該列表的for循環(huán)。和上一道練習(xí)一樣,將每個(gè)姓名改成全小寫(xiě)形式并用下劃線代替空格。運(yùn)行for循環(huán)后,以下列表
usernames = ["Joey Tribbiani", "Monica Geller", "Chandler Bing", "Phoebe Buffay"]
應(yīng)該更改為:
usernames = ["joey_tribbiani", "monica_geller", "chandler_bing", "phoebe_buffay"]
解決方案如下:
usernames = ["Joey Tribbiani", "Monica Geller", "Chandler Bing", "Phoebe Buffay"]
# escreva seu loop for aqui
for index in range(len(usernames)):
usernames[index] = usernames[index].lower().replace(" ", "_")
print(usernames)
標(biāo)記計(jì)數(shù)器:寫(xiě)一個(gè)for循環(huán),用于遍歷字符串列表tokens并數(shù)一下有多少個(gè)XML標(biāo)記。
解決方案如下:
tokens = ['<greeting>', 'Hello World!', '</greeting>']
count = 0
# write your for loop here
for t in tokens:
if t[0] == '<' and t[-1] == '>':
count += 1
print(count)
創(chuàng)建HTML列表:寫(xiě)一個(gè)for循環(huán),用于遍歷字符串列表并創(chuàng)建單個(gè)字符串html_str,它是一個(gè)HTML列表。例如,如果列表是items=['firststring','secondstring],輸出html_str應(yīng)該會(huì)輸出:
<ul>
<li>first string</li>
<li>second string</li>
</ul>
解決方案如下:
items = ['first string', 'second string']
html_str = "<ul>\n"
for item in items:
html_str += "<li>" + item + "</li>\n"
html_str += "</ul>"
print(html_str)
以上就是關(guān)于好程序員Python培訓(xùn)之學(xué)習(xí)For循環(huán)用法詳解的全部?jī)?nèi)容,想要了解更多關(guān)于Python和人工智能方面內(nèi)容的小伙伴,請(qǐng)關(guān)注好程序員Python培訓(xùn)官網(wǎng)、微信公眾號(hào)。
開(kāi)班時(shí)間:2021-04-12(深圳)
開(kāi)班盛況開(kāi)班時(shí)間:2021-05-17(北京)
開(kāi)班盛況開(kāi)班時(shí)間:2021-03-22(杭州)
開(kāi)班盛況開(kāi)班時(shí)間:2021-04-26(北京)
開(kāi)班盛況開(kāi)班時(shí)間:2021-05-10(北京)
開(kāi)班盛況開(kāi)班時(shí)間:2021-02-22(北京)
開(kāi)班盛況開(kāi)班時(shí)間:2021-07-12(北京)
預(yù)約報(bào)名開(kāi)班時(shí)間:2020-09-21(上海)
開(kāi)班盛況開(kāi)班時(shí)間:2021-07-12(北京)
預(yù)約報(bào)名開(kāi)班時(shí)間:2019-07-22(北京)
開(kāi)班盛況
Copyright 2011-2023 北京千鋒互聯(lián)科技有限公司 .All Right
京ICP備12003911號(hào)-5
京公網(wǎng)安備 11010802035720號(hào)