簡體   English   中英

Python對具有不同屬性的標簽進行排序

[英]Python to sort tag with different attributes

我有一個來自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 = set(soup.findAll('a'))
links = map(str, links)
links = sorted(links)

或者

簡單地,

links = sorted(set(map(str, links)))

我得到了這個

links = sorted(links, key=lambda x: str(x), reverse=False)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM