Python实现字符串中某个字母的替代功能
今晚想实现这样一个功能:将输入字符串中的字母“i”变成字母“p”。当时想的很简单,直接用for循环遍历,然后替代,出问题的代码如下:
name=input('随便输入一堆字符吧...') #name=list(name) name="".join(name) j=0 foriinrange(len(name)): ifname[i]=='i': name[i]='p' j=j+1 i=i+1 print("".join(name)) ifj==0: print('字符串里没有字母i......')
当时笔者想的是挺好,for循环遍历,然后替代,顺便再把字符“i”出现的次数用变量j表示出来,结果呢,一执行就出现了这样一个错误:
Traceback(mostrecentcalllast): File"",line6,in name[i]='p' TypeError:'str'objectdoesnotsupportitemassignment
为什么呢,我百度了一下,是因为这个:
输入的name,是字符串,用type函数验证后,显示的确是str类型。笔者也意识到了这个问题,想用name=“”.join(name)来改变数据类型,但我没有想到的是,刚才提到的name=“”.join(name)这一行,**
是将list转变成字符串str的!!!
**
tooyoungtoosimple,sometimestoonaive。。。。
因此,真正需要解决这个问题,需要把str字符串类型转变成list列表类型,就是需要list函数。即:
用name=list(name)代替name=“”.join(name)
于是乎,问题解决,KO!
学到了,字符串不能用for循环的方式直接遍历替代,如果想进行字符元素的替换,需要用list()函数进行转换,变成list类型
总结
以上所述是小编给大家介绍的Python实现字符串中某个字母的替代功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!