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