我正在借助scrapy将内容提取到数组中。每个元素都有多余的字符“:”,我想在其中尽可能高效地删除它们。

v = response.xpath('//div[@id="tab"]/text()').extract()
>>> v
['Marke:', 'Modell:']
>>> for i in v : re.sub(r'[^\w]', '', i)
...
'Marke'
'Modell'


现在看来可行,但是我如何保留结果呢?
在我的代码中,v不变:

>>> v
['Marke:', 'Modell:']

最佳答案

您可以使用list comprehension解决此问题:

>>> v = response.xpath('//div[@id="tab"]/text()').extract()
>>>
>>> import re
>>> v = [re.sub(r'[^\w]', '', i) for i in v]
>>> v
['Marke', 'Modell']

关于python - 从python中的列表元素中删除字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53486377/

10-09 01:15