python匿名函式的使用

2021-08-20 18:45:49 字數 2473 閱讀 4308

1. enumerate()方法可以同時拿到index和value。

2. python匿名函式,lambda表示式,可以簡化**。詳見2.2視覺化過程。

3. map()函式返回的是map型別,需要轉換成list型別。

示例**如下:

# coding:utf-8

import requests

from bs4 import beautifulsoup

import json

from pyecharts import bar

all_data =

def parse_page(url):

# 1.get方法請求網頁

headers =

response = requests.get(url, headers=headers)

text = response.content

# 2.beautifulsoup方法解析html

# lxml解析器:容錯能力一般。html5lib解析器:相當於瀏覽器自帶的解析器,容錯能力很強

# 安裝方式:pip install html5lib。

# pip list 可以檢視安裝了哪些包

soup = beautifulsoup(text, "html5lib")

divs = soup.find("div", class_="conmidtab")

tables = divs.find_all("table")

for table in tables:

trs = table.find_all("tr")[2:]

# enumerate()方法可以同時拿到index和value

for index, tr in enumerate(trs):

tds = tr.find_all("td")

if index == 0:

city = list(tds[1].stripped_strings)[0]

else:

city = list(tds[0].stripped_strings)[0]

temperature = list(tds[-2].stripped_strings)[0]

citys =

# 使用json.dumps()方法解決print列印編碼問題

# print json.dumps(citys, encoding="utf-8", ensure_ascii=false)

# print "="*50

def main():

# 1.獲取資料

urls = [

"","",

"","",

"","",

"",""

]for url in urls:

parse_page(url)

# 2.資料分析

# 2.1根據最低氣溫進行排序

# 使用python中的匿名函式,lambda表示式

all_data.sort(key=lambda list_data: list_data["lowest_temperature"])

# 使用json.dumps()方法解決print列印編碼問題

# print json.dumps(all_data, encoding="utf-8", ensure_ascii=false)

# 2.2視覺化過程:pyecharts.bar

data = all_data[0:10]

# 匿名函式lambda表示式,map()函式返回的是map型別,需要轉換成list型別

cities = list(map(lambda c: c["city"], data))

temperatures = list(map(lambda c: c["lowest_temperature"], data))

chart = bar("中國最低氣溫表")

# 新增橫座標和縱座標

chart.add("", cities, temperatures)

# render渲染

chart.render("china_temperature.html")

print "successful"

if __name__ == '__main__':

main()

# all_data = [

# ,

# ,

#

# ]# # 使用python中的匿名函式,lambda表示式

# all_data.sort(key=lambda list_data: list_data["lowest_temperature"])

# # 使用json.dumps()方法解決print列印編碼問題

# print json.dumps(all_data, encoding="utf-8", ensure_ascii=false)

python中匿名函式的使用

當我們在傳入函式時,有些時候,不需要顯式地定義函式,直接傳入匿名函式更方便。在python中,對匿名函式提供了有限支援。還是以map 函式為例,計算f x x2時,除了定義乙個f x 的函式外,還可以直接傳入匿名函式 list map lambda x x x,1,2,3,4,5,6,7,8,9 1...

python 匿名函式 lambda 的使用

在python中,lambda允許使用者快速定義單行函式,當然使用者也可以按照典型的函式定義完成函式。lambda的目的就是簡化使用者定義使用函式的過程。in 6 s lambda x x 1in 7 s 5 out 7 6 也可以定義多個引數 n 8 s lambda x,y x y in 9 s...

python 匿名函式 lambda的使用

匿名函式 2 lambda可以獲取到字典中的key 用於列表 中的元素為字典型別 的排序 3 lambda作為引數傳給函式 4 lambda作為輸入,傳給函式,根據輸入自定義 計算方法 input預設型別是string 需要用eval將strings轉為python expression 示例 如下...