Python构造列表基本应用语法详解

开发 后端
我们今天将会通过这篇文章中的一段代码示例的解读来为大家详细介绍一下Python构造列表的语法应用方式,希望可以给大家带来一些帮助。

Python编程语言中有许多应用方式和其他我们所熟悉的预言有很大的不同之处。不过这一语言的主要特点就在于简单易用,所以想学习起来并不困难。我们在这里可以先来一起了解一下Python构造列表的相关语法。

Python构造列表语法代码示例:

  1. #!/usr/bin/env python  
  2. # -*- coding: GBK -*-  
  3. import urllib  
  4. from sgmllib import SGMLParser  
  5. class URLLister(SGMLParser):  
  6. def reset(self):  
  7. SGMLParser.reset(self)  
  8. self.urls = []  
  9. def start_a(self, attrs):  
  10. href = [v for k, v in attrs if k == 'href']  
  11. if href:  
  12. self.urls.extend(href)  
  13. url = r'http://www.sinc.sunysb.edu/Clubs/buddhism/
    JinGangJingShuoShenMo/'
     
  14. sock = urllib.urlopen(url)  
  15. htmlSource = sock.read()  
  16. sock.close()  
  17. #print htmlSource  
  18. f = file('jingangjing.html', 'w')  
  19. f.write(htmlSource)  
  20. f.close()  
  21. mypath = r'http://www.sinc.sunysb.edu/Clubs/buddhism/
    JinGangJingShuoShenMo/'
     
  22. parser = URLLister()  
  23. parser.feed(htmlSource)  
  24. for url in parser.urls:  
  25. myurl = mypath + url  
  26. print "get: " + myurl  
  27. sock2 = urllib.urlopen(myurl)  
  28. html2 = sock2.read()  
  29. sock2.close()  
  30. # 保存到文件  
  31. print "save as: " + url  
  32. f2 = file(url, 'w')  
  33. f2.write(html2)  
  34. f2.close() 

[] 的语法是 python 中的 list comprehension, 用于Python构造列表。

  1. href = [v for k, v in attrs if k == 'href'] 

大致上相当于:

  1. href = []   
  2. for k,v in attrs:   
  3. if k == 'href':   
  4. href.append(v) 

以上就是我们为大家介绍的Python构造列表的相关语法应用。

【编辑推荐】

  1. 利用PDB实现Python程序调试
  2. Python单元测试正确使用规则
  3. Python SQLITE数据库操作简便易用
  4. 编写Python程序实现行数统计
  5. Python print正确使用方法浅析
责任编辑:曹凯 来源: 博客园
相关推荐

2010-03-03 16:08:26

Python取得文件列

2013-12-12 16:10:21

Lua脚本语言

2010-03-03 16:40:55

Python HTTP

2010-03-04 14:57:08

Python解密VBS

2010-03-03 14:30:05

Python set类

2010-03-03 10:03:55

Python连接Sql

2010-03-03 14:40:37

Python打包方法

2010-03-04 09:27:34

调用Python脚本

2010-07-08 15:24:17

SNMP trap

2010-03-05 15:47:59

Python Stri

2010-03-03 15:17:46

Python调用MyS

2010-03-03 13:32:08

Python压缩文件

2010-02-04 17:16:33

C++调用python

2009-12-09 09:22:45

PHP常用语法

2010-02-25 10:52:29

WCF响应服务

2010-02-26 13:40:28

WCF消息头

2010-02-02 14:45:35

C++ typeof

2010-02-23 15:58:57

WCF Session

2010-03-01 16:04:31

WCF服务契约

2010-03-01 11:24:31

WCF面向服务
点赞
收藏

51CTO技术栈公众号