Python構造列表基本應用語法詳解
作者:佚名
我們今天將會通過這篇文章中的一段代碼示例的解讀來為大家詳細介紹一下Python構造列表的語法應用方式,希望可以給大家帶來一些幫助。
Python編程語言中有許多應用方式和其他我們所熟悉的預言有很大的不同之處。不過這一語言的主要特點就在于簡單易用,所以想學習起來并不困難。我們在這里可以先來一起了解一下Python構造列表的相關語法。
Python構造列表語法代碼示例:
- #!/usr/bin/env python
- # -*- coding: GBK -*-
- import urllib
- from sgmllib import SGMLParser
- class URLLister(SGMLParser):
- def reset(self):
- SGMLParser.reset(self)
- self.urls = []
- def start_a(self, attrs):
- href = [v for k, v in attrs if k == 'href']
- if href:
- self.urls.extend(href)
- url = r'http://www.sinc.sunysb.edu/Clubs/buddhism/
JinGangJingShuoShenMo/'- sock = urllib.urlopen(url)
- htmlSource = sock.read()
- sock.close()
- #print htmlSource
- f = file('jingangjing.html', 'w')
- f.write(htmlSource)
- f.close()
- mypath = r'http://www.sinc.sunysb.edu/Clubs/buddhism/
JinGangJingShuoShenMo/'- parser = URLLister()
- parser.feed(htmlSource)
- for url in parser.urls:
- myurl = mypath + url
- print "get: " + myurl
- sock2 = urllib.urlopen(myurl)
- html2 = sock2.read()
- sock2.close()
- # 保存到文件
- print "save as: " + url
- f2 = file(url, 'w')
- f2.write(html2)
- f2.close()
[] 的語法是 python 中的 list comprehension, 用于Python構造列表。
- href = [v for k, v in attrs if k == 'href']
大致上相當于:
- href = []
- for k,v in attrs:
- if k == 'href':
- href.append(v)
以上就是我們為大家介紹的Python構造列表的相關語法應用。
【編輯推薦】
責任編輯:曹凱
來源:
博客園