如何删除Python列表中的bs4.element.Tag元素?
我有一个Python列表,它是如何删除Python列表中的bs4.element.Tag元素?,python,python-3.x,beautifulsoup,Python,Python 3.x,Beautifulsoup,我有一个Python列表,它是 url_list = [<img src="https://test.com/temp.jpg" style="display:block"/>, <img src="https://test.com/not_temp.jpg" style="display:block"/>] url\u list=[,] 该列表中的两个元素都是“bs4.element.Tag”类型 如何删除”元素,同时保留其“bs4.element.Tag”类型?
url_list = [<img src="https://test.com/temp.jpg" style="display:block"/>, <img src="https://test.com/not_temp.jpg" style="display:block"/>]
url\u list=[,]
该列表中的两个元素都是“bs4.element.Tag”类型
如何删除”
元素,同时保留其“bs4.element.Tag”类型?
而且列表将不断变化,因此del url\u list[0]
不起作用
我尝试了url\u列表。删除(“”)
但它没有工作,因为它的类型是不同的
编辑:
我想删除这个
'
确切的元素。“保留其'bs4.element.Tag'类型”意味着我不想更改列表元素的类型。最简单的事情可能是简单地检查每个标记并检查标记是否包含某个元素,这可以通过Tag.get()
方法完成。例如,您可以按照
for tag in url_list:
if tag.get('src') == 'some_url':
url_list.remove(tag)
get()
方法可用于提取标记的任何单个属性,而不仅仅是src。如何筛选出要删除的标签则取决于您 将标签的字符串表示形式转换为BS对象:
tag = '<img src="https://test.com/temp.jpg" style="display:block"/>'
unwanted = bs4.BeautifulSoup(tag).img
语法错误:无效语法
您的“代码”不正确。请提供复制您的问题和尝试解决问题的代码的。是否要删除该特定项或具有某些属性的所有项?在后一种情况下,该属性是什么?“保留其'bs4.element.Tag'类型”是什么意思?@DYZ是的,我想删除该特定项。我不想更改列表元素的类型。这是一个非常糟糕(而且不正确)的建议:不应该修改正在迭代的列表。谢谢,它成功了!但我得到“没有显式指定解析器”警告。如何防止它?这不是一个错误,而是一个警告,但您可以指定一个解析器:bs4.BeautifulSoup(标记'lxml')
url_list.remove(unwanted)