我正在借助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/