阿里程序員Python培訓(xùn)分享For循環(huá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)的第一行以關(guān)鍵字for開始试读,表示這是一個(gè)for循環(huán)

然后是iteration_variableiniterable杠纵,表示正在被遍歷的是可迭代的對(duì)象荠耽,并且用迭代變量表示當(dāng)前正在被處理的可迭代對(duì)象的元素钩骇。在此示例中,迭代變量city在第一次迭代時(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)前正在被處理的元素的值。

你可以隨意命名迭代變量拍谐。常見模式是為迭代變量和可迭代對(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是該序列的第一個(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)閞ange本身的輸出是一個(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í)]

寫一個(gè)遍歷names列表以創(chuàng)建usernames列表的for循環(huán)道盏。要為每個(gè)姓名創(chuàng)建用戶名而柑,使姓名全小寫并用下劃線代替空格。對(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列表本身媒咳,并編寫以下代碼。下面的代碼有什么作用种远?

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ì)該列表本身操作膝迎。

寫一個(gè)使用range()遍歷usernames中的職位以修改該列表的for循環(huán)粥帚。和上一道練習(xí)一樣,將每個(gè)姓名改成全小寫形式并用下劃線代替空格弄抬。運(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ù)器:寫一個(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列表:寫一個(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)的資料店枣,私信“? ?1? ?”獲取哦

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末速警,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子鸯两,更是在濱河造成了極大的恐慌闷旧,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件钧唐,死亡現(xiàn)場(chǎng)離奇詭異忙灼,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門该园,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)酸舍,“玉大人,你說(shuō)我怎么就攤上這事里初】忻悖” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵双妨,是天一觀的道長(zhǎng)淮阐。 經(jīng)常有香客問(wèn)我,道長(zhǎng)斥难,這世上最難降的妖魔是什么枝嘶? 我笑而不...
    開封第一講書人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮哑诊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘及刻。我一直安慰自己镀裤,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開白布缴饭。 她就那樣靜靜地躺著暑劝,像睡著了一般。 火紅的嫁衣襯著肌膚如雪颗搂。 梳的紋絲不亂的頭發(fā)上担猛,一...
    開封第一講書人閱讀 49,929評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音丢氢,去河邊找鬼傅联。 笑死,一個(gè)胖子當(dāng)著我的面吹牛疚察,可吹牛的內(nèi)容都是我干的蒸走。 我是一名探鬼主播,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼貌嫡,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼比驻!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起岛抄,我...
    開封第一講書人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤别惦,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后夫椭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體掸掸,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年益楼,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了猾漫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片点晴。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖悯周,靈堂內(nèi)的尸體忽然破棺而出粒督,到底是詐尸還是另有隱情,我是刑警寧澤禽翼,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布屠橄,位于F島的核電站,受9級(jí)特大地震影響闰挡,放射性物質(zhì)發(fā)生泄漏锐墙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一长酗、第九天 我趴在偏房一處隱蔽的房頂上張望溪北。 院中可真熱鬧,春花似錦夺脾、人聲如沸之拨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蚀乔。三九已至,卻和暖如春菲茬,著一層夾襖步出監(jiān)牢的瞬間吉挣,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工婉弹, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留睬魂,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓马胧,卻偏偏與公主長(zhǎng)得像汉买,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子佩脊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容