从lis中的字符串中删除\xa0

2024-05-08 22:20:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一张单子上面有一堆字:

lista = ['Jeux Olympiques De Rio\xa02016', 'Sahara Ray', 'Michael Phelps', 'Amber Alert']

我试图替换'\xa0'

^{pr2}$

但没用。另外,当我print元素时,它会打印:

print(lista[0])
Jeux Olympiques De Rio 2016

有人知道怎么解决这个问题吗?在


Tags: dealert单子xa0printsahararayamber
3条回答

如果字符串包含'\xa0',只需使用列表理解来替换结尾:

res = [elem if '\xa0' not in elem else elem.replace('\xa0', '') for elem in lista]

您当前的方法只是反复地重新分配一个名称(element),而没有实际修改列表lista。列表理解将使用原始列表中的元素创建一个新列表,即:

^{pr2}$

并替换包含\xa0的所有字符串,即:

elem if '\xa0' not in elem else elem.replace('\xa0', '')
for index, element in enumerate(listor):
    listor[index] = element.replace('\xa0',' ')

现在您要替换列表中的字符串,而不是尝试更改字符串本身。以前,您将一个新的字符串赋给同一个变量名,这不会更改前一个字符串,只会更改“element”变量所指向的字符串。这样,您实际上将用一个新的字符串覆盖list元素。在

最简单的方法:

lista = [el.replace('\xa0',' ') for el in lista]

相关问题 更多 >