循环——批量处理数据
一、循環(huán)的意義
1、我們使用循環(huán)來做重復(fù)的事情,從而達(dá)到效率的提升。
2、在Python中有兩種類型的循環(huán),第一種叫做for循環(huán)(for-loop),第二種叫做while循環(huán)(while-loop)。從實際使用上來說,while循環(huán)在Python開發(fā)中并不常見,需要使用while循環(huán)的地方我們也可以使用for循環(huán)來進行模擬,從而達(dá)到同樣的效果。
3、for循環(huán)一般和批量的處理數(shù)據(jù)是分不開的,for循環(huán)把一堆數(shù)據(jù)中的每一個都按照特定的規(guī)則進行重復(fù)處理。
二、認(rèn)識循環(huán)
for i in [1,2,3]:print(i)?
1、在編程中,當(dāng)我們使用一個來自于集合體的東西, 并且它能夠一次次的被取出直至產(chǎn)生它的集合體被耗盡,那么 我們通常認(rèn)為這描述的是 【可迭代對象】(iterable)的特征,也就是我們所說的一堆數(shù)據(jù)。
2、想要使用 for循環(huán),就一定需要一個可迭代對象作為被循環(huán)的主體。前面提到的容器類型的數(shù)據(jù)全部都是可迭代的對象(光從名字就不難猜出),但是實際上在 Python 還有更多的可迭代對象,我們可以使用 iter() 函數(shù)來判斷是否是可迭代對象——作為參數(shù)放進去不報錯,那說明就是可迭代的,就可以被用于 for 循環(huán);如果報錯了就不是可迭代的。
3、i 可以稱為循環(huán)變量(loop variable)。
for i in container:do something(1)每一個數(shù)據(jù)在使用的時候會有名字(變量賦值)。
(2)每一個數(shù)據(jù)在被使用的時候都按照統(tǒng)一的名字(變量名)進行操作。
(3)被操作完的數(shù)據(jù)就不再擁有這個名字,但最后一個元素除外(i=last)。
4、do something
我們對循環(huán)中數(shù)據(jù)的處理規(guī)則全部寫在換行后的縮進里面,無論是像是變量賦值或者還是調(diào)用函數(shù)在或者其他的事情,所有在縮進里的代碼全部會被認(rèn)為是要在這一次循環(huán)中做的事情。循環(huán)會在可迭代對象中數(shù)據(jù)全部被訪問過的時候停止,除非我們在這之前使用另外的語句叫停。
三、循環(huán)的4個應(yīng)用場景
1、使用可迭代對象中的數(shù)據(jù)
在實際的開發(fā)中,經(jīng)常會將容器中的數(shù)據(jù)全部作為原料使用。
比如像是發(fā)送消息給所有的用戶這樣的行為,這其中的批量處理是怎樣實現(xiàn)的呢?實際上是給一個相當(dāng)于【信息發(fā)送機】的函數(shù)批量的提供要發(fā)送的用戶名和內(nèi)容,從而實現(xiàn)循環(huán)調(diào)用函數(shù)。
users = ['Frank Zappa','Terry Bozzio','Adrian Bwlew' ] for user in users:# send_message(user,'Hello')print('hello,'+user)?
使用爬蟲獲得每一個頁面的信息的時候,是一次打開并保存列表中的每一個網(wǎng)址。
urls = ['www.a.com','www.b.com','www.c.com' ] for url in urls:full_url = 'http://'+url# web = open(full_url)# web.save()print(full_url)?
?
2、構(gòu)造/整理容器內(nèi)的數(shù)據(jù)
有時候容器里的數(shù)據(jù)本身是不規(guī)整的,或者是有一些不想要的數(shù)據(jù),這時候用循環(huán)就可以很方便的批量清洗數(shù)據(jù),把容器中的數(shù)據(jù)進行過濾和重組之后再使用。
albums_list = ['reuion','lefttoverture','machine head' ] new_list = [] for album in albums_list:# capitalize()將字符串的第一個字母變成大寫,其他字母變小寫。new_name = album.capitalize()new_list.append(new_name)print(new_list)?
3、嵌套多重循環(huán)
多重循環(huán)就是在循環(huán)中進行循環(huán),這么做的原因是,有時候我們在同一時間處理多個嵌套的數(shù)據(jù)結(jié)構(gòu),也就是可迭代對象中的每一個元素仍然是可迭代的,這種循環(huán)常見于數(shù)據(jù)庫類型的對象中查詢或者是修改單位數(shù)據(jù)。
album = [['Good Times Bad Times',],['Your Time Is Gonna Come''Black Mountain Side'] ] for Side in album:for song in side:print(song)?
4、循環(huán)中的條件分支
將條件中的數(shù)據(jù)進行分類和篩選也是常見的一種操作行為,但是這不可避免的要使用到條件判斷語句作為分支的篩選器。
for + if?
四、總結(jié)
“把一堆數(shù)據(jù)中的每一個都按照特定的規(guī)則進行重復(fù)處理?!?/span>
for i in container:do something1、使用可迭代對象中的數(shù)據(jù)
2、構(gòu)造/整理容器內(nèi)的數(shù)據(jù)
3、嵌套多重循環(huán)
4、循環(huán)中的條件分支
?
轉(zhuǎn)載于:https://www.cnblogs.com/Lamfai/p/9332225.html
總結(jié)
以上是生活随笔為你收集整理的循环——批量处理数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 水平居中布局与滚动条跳动的千年难题
- 下一篇: MWeb 的基本使用