Python构造列表基本应用语法详解 - Go语言中文社区

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构造列表的相关语法应用。

版权声明:本文来源51CTO,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:http://developer.51cto.com/art/201003/186531.htm
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-16 21:13:32
  • 阅读 ( 779 )
  • 分类:Go应用

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢