关于 zen of Python 与实际时间空间复杂度

2018-07-09 12:09:51 +08:00
 firejoke

最近一个小项目 一个纠结的点
div class = "father"
____div class = "child"
________p
____________a href = "#"
________/p
____/div
____div class = "child2"
________p
____________a href = "#"
________/p
____/div
____div class = "child3"
________p
____________a href = "#"
________/p
____/div
/div

像这种情况 是用多条 xpath 精确查找
ch_o = new_html.xpath('//[class="child"]//')
ch_o = [e.href for e in ch_o if e.text ]
ch_t = new_html.xpath('//[class="child2"]//')
ch_t = [e.href for e in ch_t if e.text]
ch_h = new_html.xpath('//[class="child3"]//')
ch_h = [e.href for e in ch_h if e.text ]

还是用一条 xpath 模糊查找再推导式过滤更好呢
list_f = new_html.xpath('//@[class="father"]//')
list_filte = [[ine for ine in oe.xx if oe.xx.text] for oe in list_f if oe.xx ]

测试发现,每多一条 xpath 语法速度就会慢接近一倍
但实际情况下,最后的过滤推导式的层数会更多
到底应该如何取舍呢?

1293 次点击
所在节点    Python
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/469234

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX