这篇文章给大家分享的是有关Python如何实现字符串中某个字母的替代功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
今晚想实现这样一个功能:将输入字符串中的字母 “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 "<ipython-input-4-0705a4a9133b>", line 6, in <module>
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如何实现字符串中某个字母的替代功能”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。