温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python中怎么构造一个列表

发布时间:2021-07-05 16:37:45 来源:亿速云 阅读:125 作者:Leah 栏目:编程语言

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构造列表。

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

大致上相当于:

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

看完上述内容,你们掌握Python中怎么构造一个列表的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI