簡體   English   中英

從python中的列表元素中刪除字符

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM