我有链接列表
links = [
'<a href="http://127.0.0.1:5000/project/24/portfolio/">Packaging Only Demo</a>',
'<a href="http://127.0.0.1:5000/project/38/portfolio/">QA Source</a>',
'<a href="http://127.0.0.1:5000/project/44/portfolio/">Complete Demo</a>'
]
我需要按链接名称对列表进行排序。
我试图用正则表达式对其进行排序,但它持续了太长时间。该列表包含大量参考文献
import re
def sorted(x):
return re.search(r'\>(.*)<', x).group(1)
links = sorted(links, key=sorted)
print(links)
可以使用etree
解析 XML/HTML 片段并获取<a>
标签之间的文本。然后您可以将其用作排序标准:
from lxml import etree
result = sorted(links,key=lambda x : etree.XML(x).text)
所以在这里我们调用etree.XML(..)
函数来构造一个element
(<a>
标签),并.text
获得标签之间的文本。因此,我们可以将其用作key
排序的 。
这导致:
>>> result
['<a href="http://127.0.0.1:5000/project/44/portfolio/">Complete Demo</a>', '<a href="http://127.0.0.1:5000/project/24/portfolio/">Packaging Only Demo</a>', '<a href="http://127.0.0.1:5000/project/38/portfolio/">QA Source</a>']
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句