[英]removing characters from list elements in python
我正在借助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:']
您可以使用列表理解來解決此問題:
>>> v = response.xpath('//div[@id="tab"]/text()').extract()
>>>
>>> import re
>>> v = [re.sub(r'[^\w]', '', i) for i in v]
>>> v
['Marke', 'Modell']
我認為為此引入regex
有點矯kill過正:使用字符串replace
方法:
v = ['Marke:', 'Modell:']
v = [str.replace(':', '') for str in v]
print(v)
輸出:
['Marke', 'Modell']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.