How do I modify a string in place?
You can’t, because strings are immutable. Most string manipulation code in Python simply creates new strings instead of modifying the existing ones.
If you need a string-like object that can be modified in place, try converting the string to a list or use the array module:
>>> s = "Hello, world" >>> a = list(s) >>> print a ['H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd'] >>> a[7:] = list("there!") >>> ''.join(a) 'Hello, there!' >>> import array >>> a = array.array('c', s) >>> print a array('c', 'Hello, world') >>> a[0] = 'y' ; print a array('c', 'yello world') >>> a.tostring() 'yello, world'
CATEGORY: programming

Comment:
There is also a MutableString class in the UserString module.
Posted by Roberto Bonvallet (2006-11-30)