如何使用for循环和replace函数在python中附加列表?
我从一个网站上抓取了一些股票代码,span标签中的文本就有如何使用for循环和replace函数在python中附加列表?,python,list,for-loop,replace,Python,List,For Loop,Replace,我从一个网站上抓取了一些股票代码,span标签中的文本就有'\xa0AYTU\xa0'。我试图使用replace('xa0','')将'\xa0'从股票行情器的任一侧删除。但是,当我在替换字符后要追加列表时,无论发生什么情况,它都会将列表追加为'\xa0AYTU\xa0' 这是我的for循环 fu_tickers = [] for t in match_fu.find_all('span'): temp = str(t.text) temp2 = temp.replace('x
'\xa0AYTU\xa0'
。我试图使用replace('xa0','')
将'\xa0'
从股票行情器的任一侧删除。但是,当我在替换字符后要追加列表时,无论发生什么情况,它都会将列表追加为'\xa0AYTU\xa0'
这是我的for循环
fu_tickers = []
for t in match_fu.find_all('span'):
temp = str(t.text)
temp2 = temp.replace('xa0','')
fu_tickers.append(temp2)
print(fu_tickers)
当我在for循环中插入print(temp2)
时,我可以看到它正确地删除了字符,但由于某种原因,它不会将temp2
字符串附加到fu_tickers
列表中并删除字符
当前结果=['\xa0AYTU\xa0','\xa0CETX\xa0','\xa0CHFS\xa0']
所需结果=
['AYTU'、'CETX'、'CHFS']
将\
添加到'xa0'
中的str.replace
:
lst = ['\xa0AYTU\xa0', '\xa0CETX\xa0', '\xa0CHFS\xa0']
lst = [i.replace('\xa0', '') for i in lst]
print(lst)
印刷品:
['AYTU', 'CETX', 'CHFS']
['AYTU', 'CETX', 'CHFS']
或者使用
str.strip
:
lst = ['\xa0AYTU\xa0', '\xa0CETX\xa0', '\xa0CHFS\xa0']
lst = [i.strip() for i in lst]
print(lst)
印刷品:
['AYTU', 'CETX', 'CHFS']
['AYTU', 'CETX', 'CHFS']
天哪,我是个白痴,我甚至没有意识到我错过了\…什么样的for循环,你可以在for之前放置变量?看起来干净多了,不知道你能做到也许值得一试sequences@prime90这是一个列表理解,而不是for循环。这是一种使用映射/筛选操作创建列表的特殊构造。Set和dict理解也存在,生成器表达式创建了所有工作的生成器similarly@prime90这叫做列表理解。例如,你可以阅读关于他们的文章。非常有用。这是一个转义序列,那些字符实际上不在字符串中。这能回答你的问题吗?