lista = ['abc', 'alpha', 'bravo', 'charlie']
然后我将其更改为字符串并修改它:
lista = str(lista)
re.sub('a','b', lista)
然后我会得到一个'字符串',如:
lista = ['bbc','blphb','brbvo','chbrlie']
我希望它再次成为一个列表。
有什么建议吗?或者我可以修改列表中的内容吗?简单的方法将是最好的。
编辑: 我正在使用beutifulsoup的findall来制作清单。代码就像:
desclist = soup.findAll('description')
desclist[:] = (x.replace(r'.+', ' ') for x in desclist)
print desclist
我试图改变'。'或'。'到'''
但它说nonetype对象不可调用..
答案 0 :(得分:6)
无需将列表转换为字符串。也没有必要使用正则表达式进行简单的字符串替换。只需对列表中的每个项目执行替换并将其存储在新列表中:
lista = [x.replace('a', 'b') for x in lista]
您也可以就地修改列表:
lista[:] = (x.replace('a', 'b') for x in lista)
答案 1 :(得分:0)
使用list comprehension对您列表中的每个成员采取行动:
In [1]: import re
In [2]: lista = ['abc', 'alpha', 'bravo', 'charlie']
In [3]: lista = [re.sub('a','b',x) for x in lista]
In [4]: lista
Out[4]: ['bbc', 'blphb', 'brbvo', 'chbrlie']