日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
不容錯過!Python列表推導式簡明教程

列表解析式(List comprehension)或者稱為列表推導式,是 Python 中非常強大和優(yōu)雅的方法。它可以基于現(xiàn)有的列表做一些操作,從而快速創(chuàng)建新列表。在我們第一次見到列表推導式時,可能會感覺這種方法非常炫酷,因此寫列表推導式是非常爽的一件事。

10年積累的網(wǎng)站設計、做網(wǎng)站經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先建設網(wǎng)站后付款的網(wǎng)站建設流程,更有治多免費網(wǎng)站建設讓你可以放心的選擇與我們合作。

什么是列表推導式

如果我們有一個列表,并希望抽取列表中的元素,那么最標準的方法是使用 Python 循環(huán),但是我們也可以直接通過列表推導式,它只需一行代碼就能搞定所有操作。當然,抽取列表元素的前提是,我們要理解列表是一種可迭代對象,它允許依次讀取不同的元素。

想象一下,如果動物園中有很多不同的動物,每年每一只動物都需要定期體檢,那么動物園就是列表。我們可以遍歷整個動物園,并依次抽取動物,抽取的動物并不做進一步的處理,直接放到體檢列表中。如下所示為一般 Python 循環(huán)的做法:

 
 
 
 
  1. # Creating our animal park  
  2. animal_park = [ Rabbit , Rabbit , Rabbit , Rabbit , Cat , Cat , Cat , Cat , Cat , Cat , Cat ,  Turtle , Turtle , Turtle , Turtle , Turtle , Turtle , Turtle ,  Dog , Dog ,  Kangaroo , Kangaroo , Kangaroo , Kangaroo , Kangaroo , Kangaroo ] 
  3. # Creating a new list for our animal doctor with all animals  
  4. animal_doctor = []  
  5. for animal in animal_park:  
  6.    animal_doctor.append(animal) 

上面的代碼很簡單,用一個 for 循環(huán)就行,它的語義也很容易理解。如下我們可以使用列表推導式重寫這一個循環(huán):

 
 
 
 
  1. animal_doctor = [animal for animal in animal_park] 

通過列表推導式,我們將代碼量由三行降低到一行。如果對比兩者,我們會發(fā)現(xiàn)它們其實是一樣的,差不多都是創(chuàng)建、遍歷和接收三部分。

圖1:標準循環(huán)與列表推導的對比。

條件語句

這樣看起來列表推導式也沒什么大不了,但別忘了它還能對元素做進一步操作,例如加個條件語句。在標準的列表循環(huán)中,我們的條件語句如下所示會加到 for 循環(huán)中。

 
 
 
 
  1. animal_doctor = []  
  2. for animal in animal_park:  
  3.    if animal !=  Dog  and animal !=  Cat :  
  4.       animal_doctor.append(animal) 

在列表推導式中,我們可以將條件加到里面,用稍微長一點的單行代碼完成整個流程。上面代碼塊可以等價地表達為:

 
 
 
 
  1. nimal_doctor = [animal for animal in animal_park if animal !=  Dog  and animal !=  Cat ] 

另外非常重要的一點是,列表推導式的速度非???。如下兩者都加了條件語句,但是列表推導式要比一般的循環(huán)語句快了 51%。

圖2:列表推導與標準循環(huán)二者速度的對比。

最后,如果你使用過列表推導式創(chuàng)建新的列表,那么你最好一直使用它,因為我們沒有原因再使用標準 Python 循環(huán)。我們可以發(fā)現(xiàn),只要明晰了基本概念,那么列表推導式還是非常容易使用的。


本文名稱:不容錯過!Python列表推導式簡明教程
本文路徑:http://m.5511xx.com/article/coghseh.html