我想从列表的元素中删除额外的巴尔恩克斯和字符,但是尽管我尝试了split(),strip()和下面的代码,但我无法做到这一点。我该怎么做?
我尝试的是
import re
movie_list=[" The Room"," Boyhood","ttThe Help"]
for i in movie_list:
i=re.sub('[ t]+' , ' ',i)
print(movie_list)
如果您想从头开始和结束:
[m.strip() for m in movie_list]
它给出:
['The Room', 'Boyhood', 'The Help']
如果要删除重复的白色空间:
import re
[re.sub(r'[ t]+', '', m) for m in movie_list]
您也可以将两者结合在一起:
import re
[re.sub(r'[ t]+', '', m.strip()) for m in movie_list]
在您的示例中,请注意i=re.sub('[ t]+' , ' ',i)
正在重新定义变量i
但不是修改列表的事实。要实际对列表进行更改,您可以
for index, value in enumerate(movie_list):
movie_list[index] = some_function(value)
或重新定义movie_list
:
movie_list = [some_function(m) for m in movie_list]