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 示例 如下...