最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中Lambda表達(dá)式詳解

 更新時間:2019年11月20日 14:47:18   投稿:laozhang  
在本篇文章里小編給大家整理的是關(guān)于python中Lambda表達(dá)式的相關(guān)知識點內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。

如果你在學(xué)校讀的是計算機科學(xué)專業(yè),那么可能學(xué)過 Lambda 表達(dá)式, 不過可能從來沒有用過它。如果你不是計算機科學(xué)專業(yè),它們看著可能 有點兒陌生(或者只是“曾經(jīng)學(xué)習(xí)過的東西”)。在這一節(jié)里,雖然我們 不打算深入學(xué)習(xí)這類函數(shù),但是會用幾個例子來演示它們是如何用在網(wǎng) 頁抓取中的。

Lambda 表達(dá)式本質(zhì)上就是一個函數(shù),可以作為變量傳入另一個函數(shù); 也就是說,一個函數(shù)不是定義成 f(x, y),而是可以定義成 f(g(x), y) 或 f(g(x), h(y)) 的形式。 BeautifulSoup 允許我們把特定類型的函數(shù)作為參數(shù)傳入 find_all 函 數(shù)。唯一的限制條件是這些函數(shù)必須把一個標(biāo)簽對象作為參數(shù)并且返回 布爾類型的結(jié)果。BeautifulSoup 用這個函數(shù)來評估它遇到的每個標(biāo)簽對 象,最后把評估結(jié)果為“真”的標(biāo)簽保留,把其他標(biāo)簽剔除。

例如,下面的代碼就是獲取有兩個屬性的所有標(biāo)簽:

bs.find_all(lambda tag: len(tag.attrs) == 2)

這里,作為參數(shù)傳入的函數(shù)是 len(tag.attrs) == 2。當(dāng)該參數(shù)為真 時,find_all 函數(shù)將返回 tag。即找出帶有兩個屬性的所有標(biāo)簽,如 下所示:

<div class="body" id="content"></div>
<span style="color:red" class="title"></span>

Lambda 函數(shù)非常實用,你甚至可以用它來替代現(xiàn)有的 BeautifulSoup 函 數(shù):

bs.find_all(lambda tag: tag.get_text() ==  
'Or maybe he\'s only resting?')

如果不使用 Lambda 函數(shù),代碼如下:

bs.find_all('', text='Or maybe he\'s only resting?')

如果你能記住 Lambda 函數(shù)的語法,以及如何獲取標(biāo)簽的屬性,那么你 可能再也不需要記住 BeautifulSoup 的語法了!

由于 Lambda 函數(shù)可以是任意返回 True 或者 False 值的函數(shù),你甚至 可以結(jié)合使用 Lambda 函數(shù)與正則表達(dá)式,來查找匹配特定字符串模式 的屬性的標(biāo)簽。

以上就是關(guān)于python Lambda表達(dá)式的相關(guān)知識點內(nèi)容,感謝大家的閱讀和對腳本之家的支持。

相關(guān)文章

最新評論

阳西县| 博湖县| 抚远县| 陆河县| 赤水市| 岐山县| 临朐县| 武乡县| 蒲城县| 贺州市| 勐海县| 沂南县| 扎鲁特旗| 化德县| 黄平县| 玉环县| 陇西县| 永善县| 余江县| 西乡县| 江山市| 香港 | 岳西县| 电白县| 彰化市| 南陵县| 广安市| 澄城县| 德昌县| 同德县| 高碑店市| 乐平市| 横峰县| 商城县| 凭祥市| 温泉县| 郑州市| 长汀县| 淳安县| 穆棱市| 藁城市|