当我运行此代码时,属性每次都以不同的顺序出现。有谁知道为什么?
我尝试过随机/非确定性搜索BeautifulSoup但找不到任何东西。
from bs4 import BeautifulSoup
html = """
<span class="pb-byline" itemprop="author" itemscope=""
itemtype="http://schema.org/Person">By
<a href="https://www.washingtonpost.com/people/joe-bloggs/">
<span itemprop="name">Joe Bloggs</span></a></span>
"""
soup = BeautifulSoup(html, "lxml")
find_span = soup.find('span')
print(find_span.attrs)
现在我知道了,我可以对它们进行排序,但我很好奇理解它。
答案 0 :(得分:2)
当您访问find_span.attrs
时,您正在访问dictionary
。它们有 no 顺序,所以要谈谈它prints
不合逻辑的顺序。
dictionary
只是一组key : value
对。它没有隐含的顺序,只是每个key
总是会给出相应的value
。因此,printing
表示这些pairs
可以按任何顺序排列。