Python學(xué)習(xí)筆記之For循環(huán)用法詳解
本文實(shí)例講述了Python學(xué)習(xí)筆記之For循環(huán)用法。分享給大家供大家參考,具體如下:
Python 中的For循環(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)的第一行以關(guān)鍵字
for開始,表示這是一個for循環(huán) - 然后是
iteration_variable in iterable,表示正在被遍歷的是可迭代的對象,并且用迭代變量表示當(dāng)前正在被處理的可迭代對象的元素。在此示例中,迭代變量 city 在第一次迭代時將是 “new york city”,在第二次迭代時將是 mountain view。 for循環(huán)頭部始終以英文冒號:結(jié)束。for循環(huán)頭部之后的是在此for循環(huán)的每次迭代時運(yùn)行的縮進(jìn)代碼塊。在此塊中,我們可以使用迭代變量訪問當(dāng)前正在被處理的元素的值。- 你可以隨意命名迭代變量。常見模式是為迭代變量和可迭代對象指定相同的名稱,但是分別使用單復(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() 是一個內(nèi)置函數(shù),用于創(chuàng)建不可變的數(shù)字序列。它有三個參數(shù),必須都為整數(shù)。range(start=0, stop, step=1)
- start是該序列的第一個數(shù)字,stop比該序列的最后一個數(shù)字大 1,step是該序列中每個數(shù)字之間的差。如果未指定的話,start默認(rèn)為 0,step 默認(rèn)為 1(即上述 =0 和 =1)。
- 如果你在
range()的括號里指定一個參數(shù),它將用作 stop 的值,另外兩個參數(shù)使用默認(rèn)值。E.g.list(range(4))返回 [0, 1, 2, 3] - 如果你在
range()的括號里指定兩個參數(shù),它們將用作 start 和 stop 的值,step 將使用默認(rèn)值。 E.g.list(range(2, 6))返回 [2, 3, 4, 5] - 注意,在這些示例中,我們將 range 封裝在列表中。因?yàn)?range 本身的輸出是一個 range 對象。我們可以通過將其轉(zhuǎn)換為列表或在
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)重復(fù)某個操作一定的次數(shù)。
for i in range(3)
print("Hi!")
For 循環(huán)[相關(guān)練習(xí)]
寫一個遍歷 names 列表以創(chuàng)建 usernames 列表的 for 循環(huán)。要為每個姓名創(chuàng)建用戶名,使姓名全小寫并用下劃線代替空格。對以下列表運(yùn)行 for 循環(huán):
names = ["Joey Tribbiani", "Monica Geller", "Chandler Bing", "Phoebe Buffay"]
應(yīng)該會創(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)
分析: 這段代碼沒有效果。 在每次迭代時,name 變量設(shè)為從該列表中獲取的一個字符串。然后賦值語句創(chuàng)建一個新的字符串 (name.lower().replace(" ", "_")) 并將 name 變量更改為該字符串。要修改該列表,你必須使用 range 對該列表本身操作。
寫一個使用 range() 遍歷 usernames 中的職位以修改該列表的 for 循環(huán)。和上一道練習(xí)一樣,將每個姓名改成全小寫形式并用下劃線代替空格。運(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ù)器: 寫一個 for 循環(huán),用于遍歷字符串列表 tokens 并數(shù)一下有多少個 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 列表: 寫一個 for 循環(huán),用于遍歷字符串列表并創(chuàng)建單個字符串 html_str,它是一個 HTML 列表。例如,如果列表是 items = ['first string', 'second string],輸出 html_str 應(yīng)該會輸出:
<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相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python函數(shù)使用技巧總結(jié)》、《Python面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計(jì)有所幫助。
- Python類中方法getitem和getattr詳解
- Pyqt清空某一個QTreeewidgetItem下的所有分支方法
- 淺談Python類的__getitem__和__setitem__特殊方法
- 解析Python中的__getitem__專有方法
- 詳解Python中的__getitem__方法與slice對象的切片操作
- Python for i in range ()用法詳解
- Python for循環(huán)及基礎(chǔ)用法詳解
- python中for循環(huán)變量作用域及用法詳解
- python實(shí)現(xiàn)發(fā)送form-data數(shù)據(jù)的方法詳解
- Python for循環(huán)與getitem的關(guān)系詳解
相關(guān)文章
使用python對視頻文件分辨率進(jìn)行分組的實(shí)例代碼
通過對視頻的分辨路進(jìn)行分類可以在需要的時候快速找到你想要的視頻分辨率。當(dāng)然人工去分類是一種比較費(fèi)時費(fèi)力的工作,通過軟件也好,程序也罷都是為了可以提高我們的工作效率。下面通過代碼給大家分享使用python對視頻文件分辨率進(jìn)行分組的方法,一起看看吧2021-10-10
快速進(jìn)修Python指南之面向?qū)ο筮M(jìn)階
這篇文章主要為大家介紹了Java開發(fā)者快速進(jìn)修Python指南之面向?qū)ο筮M(jìn)階,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
Win10搭建Pyspark2.4.4+Pycharm開發(fā)環(huán)境的圖文教程(親測)
本文主要介紹了Win10搭建Pyspark2.4.4+Pycharm開發(fā)環(huán)境的圖文教程(親測),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
Python基礎(chǔ)之?dāng)?shù)據(jù)類型相關(guān)知識總結(jié)
眾所周知,在Python中,常用的數(shù)據(jù)類型有三種,分別是字符串、整數(shù)和浮點(diǎn)數(shù).在Python基礎(chǔ)學(xué)習(xí)的過程中,數(shù)據(jù)類型是初學(xué)者常常容易混淆的一個基礎(chǔ)知識點(diǎn),本文為大家詳細(xì)總結(jié)了三種數(shù)據(jù)類型的概念、數(shù)據(jù)類型的查詢以及更為復(fù)雜的數(shù)據(jù)轉(zhuǎn)化,需要的朋友可以參考下2021-06-06
如何查看Django ORM執(zhí)行的SQL語句的實(shí)現(xiàn)
這篇文章主要介紹了如何查看Django ORM執(zhí)行的SQL語句的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04

