如何使用.replace()函数将字符串的最后4个字符中的所有字符更改为#符号?

1 python string replace

我试图将字符串中除了最后四个字符之外的所有字符更改为输出上的#符号.
这就是我目前所拥有的

>>> v
'0123456789'
>>> for ch in v:
...     if ch in v:
...             v = v.replace(ch, '#')
...
>>> print v
##########
Run Code Online (Sandbox Code Playgroud)

如您所见,所有字符都被替换.

我尝试过使用所有类型的索引切片方法,但似乎没有任何效果!我也试过......

>>> v = '0123456789'
>>> for ch in v:
...     if ch in v:
...             v = v[0:-4].replace(ch, '#') + v[-3:]
...
>>> print v
789
Run Code Online (Sandbox Code Playgroud)

但是,正如你在这里看到的,它摆脱了所有其他角色.
请帮忙.

cri*_*007 5

Python字符串是不可变的,所以这样的东西应该工作.没有循环

>>> v = '0123456789'
>>> '#'*(len(v) - 4)+v[-4:]
'######6789'
Run Code Online (Sandbox Code Playgroud)

关于替换的事情是,如果你有333333和你replace('3', '#')呢?一切都变成了#,对吧?