今天本来打算写个程序,替换字符串中固定的一个字符:将<全部替换成回车'\n'
于是,我写成这样
s='sdjj<ddd<denj,>' for x in s: if x=='<': x='\n' print(s)
然后输出还是
'sdjj<ddd<denj,>'
然后我就很纳闷,于是乎我又写成了这样
s='sdjj<ddd<denj,>' ss=list(s) for x in ss: if x=='<': x='\n' print(ss)
然后输出了
['s', 'd', 'j', 'j', '<', 'd', 'd', 'd', '<', 'd', 'e', 'n', 'j', ',', '>']
我总结了一下,应该是x是临时变量所以会这样,所以改成以下
s='sdjj<ddd<denj,>' ss=list(s) for x in range(len(ss)): if ss[x]=='<': ss[x]='\n' s=''.join(ss) print(s)
输出是:
sdjj
ddd
denj,>
结果已经对了,但是写的很麻烦,后来找到了一个更简洁的方式:
s='sdjj<ddd<denj,>' ss=s.replace('<','\n') print(ss)
一句话搞定,输出也正确,又深刻的体会了一把,人生苦短,我用python,哈哈
注:这里有一点需要注意:s还是保持不变的,只有ss是我们想要的结果
输出s:sdjj<ddd<denj,>
输出ss:
sdjj
ddd
denj,>