Im trying to make a Hangman game and I need to change certain characters in a string. Eg: '-----', I want to change the third dash in this string, with a letter. This would need to work with a word of any length, any help would be greatly appreciated
            Asked
            
        
        
            Active
            
        
            Viewed 1.1k times
        
    2
            
            
        - 
                    2See: [change-one-character-in-a-string-in-python](http://stackoverflow.com/questions/1228299/change-one-character-in-a-string-in-python) – j.f. Aug 13 '14 at 17:48
 - 
                    @j.f. is correct. Strings cannot be changed in Python, unlike Java or C. You should convert the string to a list, and then you can modify that list character by character. – TheSoundDefense Aug 13 '14 at 17:51
 
3 Answers
2
            Strings are immutable, make it a list and then replace the character, then turn it back to a string like so:
s = '-----'
s = list(s)
s[2] = 'a'
s = ''.join(s)
        crhodes
        
- 1,178
 - 9
 - 20
 
0
            
            
        String = list(String)
String[0] = "x"
String  = str(String)
Will also work. I am not sure which one (the one with .join and the one without) is more efficient
        Ethan McCue
        
- 883
 - 1
 - 8
 - 17
 
0
            
            
        You can do it using slicing ,
>>> a
'this is really string'
>>> a[:2]+'X'+a[3:]
'thXs is really string'
>>> 
        Nishant Nawarkhede
        
- 8,234
 - 12
 - 59
 - 81