编码错误,Python中的靓汤

2024-09-28 12:16:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个HTML正在被BeautifulSoup读取,它在那里找到了一个特定的标签。你知道吗

        availabilityList = []
        for label in soup.find(id=studyroom).select('li.zone label'):
            a = label.get_text()
            b = a.encode('ascii','ignore')
            availabilityList.extend(b)
        #this part below doesn't work
        ','.join(availabilityList)

我用编码删除了列表开头的u,但这仍然是一个奇怪的错误。你知道吗

打印可用性列表为

['R', 'o', 'o', 'm', ' ', '2', '2', '5', ' ', '1', '0', ':', '0', '0', ' ', 'A', 'M', 'R', 'o', 'o', 'm', ' ', '2', '2', .....]

我只需要一个带字符串的列表。 连接函数不起作用

availabilityList = [Room 225 10:00 AM, Room 225 11:00 AM...]

Tags: inid列表forhtml标签findam
2条回答

我认为错误不在于BeautifulSoup,而在于使用extend函数而不是append函数。你知道吗

上述代码的正确第4行是:可用性列表.append(二)

基本上,“b”中的字符串被视为一个字符列表,每个字符都附加在“availabilityList”的末尾。 看看here,看看extend和append之间的区别。你知道吗

availabilityList.extend(b)

b视为列表。在本例中是一个字符列表,并用它扩展availabilityList。你知道吗

你需要做:

availabilityList.append(b)

这就是我的意思:

>>> a_list = []
>>> a = 'text'
>>> a_list.append(a)
>>> a_list
['text']
>>> b = 'new_text'
>>> a_list.extend(b)
>>> a_list
['text', 'n', 'e', 'w', '_', 't', 'e', 'x', 't']

注意appendextend之间的区别。你知道吗

相关问题 更多 >

    热门问题