python - 从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']
推荐阅读
- sql - Oracle SQL Query 根据另一个表的条件更改列标题
- c# - 在winforms C#中自动隐藏图片
- excel - 将序列号分配给第一列中的特定范围
- html - 使用 CSS 将鼠标悬停在图像上时,如何使背景大小与图像大小相同?
- javascript - 对 Object.defineProperty 使用 1 和 0 而不是 true false
- c++ - 32位进程在Windows10 x64系统上获取另一个32位进程的PEB失败
- julia - Julia中3d晶格上的时间相关薛定谔方程
- android - 错误:您的应用尚未被 Android Auto 接受
- ansible - Ansible:根据目标库存切换/覆盖变量
- kubernetes - 如何在 kubernetes pod 中添加额外的状态?