Python如何实现字符串中某个字母的替代功能-创新互联
这篇文章给大家分享的是有关Python如何实现字符串中某个字母的替代功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
创新互联建站客户idc服务中心,提供服务器托管、成都服务器、成都主机托管、成都双线服务器等业务的一站式服务。通过各地的服务中心,我们向成都用户提供优质廉价的产品以及开放、透明、稳定、高性价比的服务,资深网络工程师在机房提供7*24小时标准级技术保障。今晚想实现这样一个功能:将输入字符串中的字母 “i” 变成字母 “p”。当时想的很简单,直接用for循环遍历,然后替代,出问题的代码如下:
name = input('随便输入一堆字符吧...') #name = list(name) name = "".join(name) j = 0 for i in range(len(name)): if name[i] == 'i': name[i] = 'p' j = j + 1 i = i + 1 print("".join(name)) if j == 0: print('字符串里没有字母i ......')
当时笔者想的是挺好,for循环遍历,然后替代,顺便再把字符 “i” 出现的次数用变量 j 表示出来,结果呢,一执行就出现了这样一个错误:
Traceback (most recent call last): File "", line 6, in name[i] = 'p' TypeError: 'str' object does not support item assignment
为什么呢,我 百度了一下,是因为这个:
输入的name,是字符串,用type函数验证后,显示的确是str类型。笔者也意识到了这个问题,想用 name = “”.join(name) 来改变数据类型,但我没有想到的是,刚才提到的 name = “”.join(name) 这一行,**
是将list转变成字符串str的!!!
**
too young too simple, sometimes too naive。。。。
因此,真正需要解决这个问题,需要把str字符串类型转变成list列表类型,就是需要list函数。 即:
用name = list(name) 代替 name = “”.join(name)
于是乎,问题解决,KO!
学到了,字符串不能用for循环的方式直接遍历替代,如果想进行字符元素的替换,需要用 list() 函数进行转换,变成 list 类型
感谢各位的阅读!关于“Python如何实现字符串中某个字母的替代功能”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文标题:Python如何实现字符串中某个字母的替代功能-创新互联
网址分享:http://ybzwz.com/article/giedc.html