Python以不同的属性对标签进行排序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python以不同的属性对标签进行排序相关的知识,希望对你有一定的参考价值。
我有一个来自links = set(soup.findAll('a'))
的列表,现在我想对它们进行排序,但是links = sorted(links)
出现错误,我该怎么排序?
原始列表和其他任何属性:
<a href="//weathernews.jp/typhoon/">台風</a>
<a class="list" href="https://weathernews.jp/s/topics/201809/190035/?fm=tp_index"></a>
<a class="list" href="https://weathernews.jp/s/topics/201809/130155/?fm=tp_index"></a>
<a href="//weathernews.jp/warning/">警報・注意報</a>
<a class="list" href="https://weathernews.jp/s/topics/201809/140125/?fm=tp_index"></a>
<a class="list" href="https://weathernews.jp/s/topics/201809/170145/?fm=tp_index"></a>
我想对它进行排序
<a class="list" href="https://weathernews.jp/s/topics/201809/190035/?fm=tp_index"></a>
<a class="list" href="https://weathernews.jp/s/topics/201809/170145/?fm=tp_index"></a>
<a class="list" href="https://weathernews.jp/s/topics/201809/140125/?fm=tp_index"></a>
<a class="list" href="https://weathernews.jp/s/topics/201809/130155/?fm=tp_index"></a>
<a href="//weathernews.jp/typhoon/">台風</a>
<a href="//weathernews.jp/warning/">警報・注意報</a>
答案
我知道了这个
links = sorted(links, key=lambda x: str(x), reverse=False)
另一答案
我建议您先将链接映射到字符串,然后对其进行排序。
links = set(soup.findAll('a'))
links = map(str, links)
links = sorted(links)
或
简单来说,
links = sorted(set(map(str, links)))
以上是关于Python以不同的属性对标签进行排序的主要内容,如果未能解决你的问题,请参考以下文章