1. 程式人生 > >020003_循環——批量處理數據

020003_循環——批量處理數據

iterable 叠代 容器類 for 循環 判斷語句 多個 集合 end 清洗

一、循環的意義

  1、我們使用循環來做重復的事情,從而達到效率的提升。

  2、在Python中有兩種類型的循環,第一種叫做for循環(for-loop),第二種叫做while循環(while-loop)。從實際使用上來說,while循環在Python開發中並不常見,需要使用while循環的地方我們也可以使用for循環來進行模擬,從而達到同樣的效果。

  3、for循環一般和批量的處理數據是分不開的,for循環把一堆數據中的每一個都按照特定的規則進行重復處理。

二、認識循環

for i in [1,2,3]:
    print(i)

  1、在編程中,當我們使用一個來自於集合體的東西, 並且它能夠一次次的被取出直至產生它的集合體被耗盡,那麽 我們通常認為這描述的是 【可叠代對象】(iterable)的特征,也就是我們所說的一堆數據。

  2、想要使用 for循環,就一定需要一個可叠代對象作為被循環的主體。前面提到的容器類型的數據全部都是可叠代的對象(光從名字就不難猜出),但是實際上在 Python 還有更多的可叠代對象,我們可以使用 iter() 函數來判斷是否是可叠代對象——作為參數放進去不報錯,那說明就是可叠代的,就可以被用於 for 循環;如果報錯了就不是可叠代的。

  3、i 可以稱為循環變量(loop variable)。

for i in container:
    do something

  (1)每一個數據在使用的時候會有名字(變量賦值)。

  (2)每一個數據在被使用的時候都按照統一的名字(變量名)進行操作。

  (3)被操作完的數據就不再擁有這個名字,但最後一個元素除外(i=last)。

  4、do something

  我們對循環中數據的處理規則全部寫在換行後的縮進裏面,無論是像是變量賦值或者還是調用函數在或者其他的事情,所有在縮進裏的代碼全部會被認為是要在這一次循環中做的事情。循環會在可叠代對象中數據全部被訪問過的時候停止,除非我們在這之前使用另外的語句叫停。

三、循環的4個應用場景

  1、使用可叠代對象中的數據

  在實際的開發中,經常會將容器中的數據全部作為原料使用。

  比如像是發送消息給所有的用戶這樣的行為,這其中的批量處理是怎樣實現的呢?實際上是給一個相當於【信息發送機】的函數批量的提供要發送的用戶名和內容,從而實現循環調用函數。

users = [
    Frank Zappa,
    Terry Bozzio,
    Adrian Bwlew
]
for user in users:
  # send_message(user,‘Hello‘)
    print(hello,+user)

  使用爬蟲獲得每一個頁面的信息的時候,是一次打開並保存列表中的每一個網址。

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、構造/整理容器內的數據

  有時候容器裏的數據本身是不規整的,或者是有一些不想要的數據,這時候用循環就可以很方便的批量清洗數據,把容器中的數據進行過濾和重組之後再使用。

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、嵌套多重循環

  多重循環就是在循環中進行循環,這麽做的原因是,有時候我們在同一時間處理多個嵌套的數據結構,也就是可叠代對象中的每一個元素仍然是可叠代的,這種循環常見於數據庫類型的對象中查詢或者是修改單位數據。

album = [
    [
        Good Times Bad Times,
    ],
    [
        Your Time Is Gonna Come
        Black Mountain Side
    ]
]
for Side in album:
    for song in side:
        print(song)

  4、循環中的條件分支

  將條件中的數據進行分類和篩選也是常見的一種操作行為,但是這不可避免的要使用到條件判斷語句作為分支的篩選器。

  for + if

四、總結

  “把一堆數據中的每一個都按照特定的規則進行重復處理。”

for i in container:
    do something

  1、使用可叠代對象中的數據

  2、構造/整理容器內的數據

  3、嵌套多重循環

  4、循環中的條件分支

020003_循環——批量處理數據