如何将此字符串拆分为单个字符?

Tob*_*oth 3 python beautifulsoup web-scraping

在BeautifulSoup对象中使用此html代码段...

<span class="Example1" data-test-selector="RC1">
 507
        <b>
         3
        </b>
        <b>
         3
        </b>
        <b>
         2
        </b>
</span>
Run Code Online (Sandbox Code Playgroud)

我正在使用此代码将其拆分......

hList = []
for each in soup.find_all('span', {'class': 'Example1'}):
    hList.append(each.text.split())

print(hList)
Run Code Online (Sandbox Code Playgroud)

我得到了结果......

['507', '3', '3', '2']
Run Code Online (Sandbox Code Playgroud)

当我真的想......

['5', '0', '7', '3', '3', '2']
Run Code Online (Sandbox Code Playgroud)

我试图使用各种列表推导,嵌套方法等来分离'507'.我只是想不出这个.

mha*_*wke 5

将列表中的字符串加入单个字符串,然后调用list()该字符串:

>>> hList = ['507', '3', '3', '2']
>>> list(''.join(hList))
['5', '0', '7', '3', '3', '2']
Run Code Online (Sandbox Code Playgroud)

您的代码实际构建了一个列表列表,因此您需要在应用之前展平列表str.join().这可以通过列表理解来创建hList:

>>> hList = [s for each in soup.find_all('span', {'class': 'Example1'})
                for s in each.text.split()]
>>> list(''.join(hList))
['5', '0', '7', '3', '3', '2']
Run Code Online (Sandbox Code Playgroud)