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以不同的属性对标签进行排序的主要内容,如果未能解决你的问题,请参考以下文章

Python入门题045:根据对象属性进行排序

对JavaScript对象数组按指定属性和排序方向进行排序

如何在Python中对版本标签列表进行排序[重复]

在 Gradle 任务中对属性文件的内容进行排序

Python:根据属性对对象列表进行排序

根据元组的值,以不同的顺序对元组列表进行排序。