0

I want to change a string in a list (letter) with the .replace method. Unfortunatly it also replaces the string in another list (starting_letter) and I can't find out why.

starting_letter should not be changed
letter should have the name ("Paul") in the first list item instead of [name].

Code:

    name = "Paul"
    starting_letter = ["Hello [name]", "bla bla", "bla bla"]
    letter = starting_letter
    
    print(f"{starting_letter} starting_letter before .replace")
    letter[0] = letter[0].replace("[name]", name)
    print(f"{starting_letter} starting_letter after .replace")
    print(f"{letter} letter")

Output:

['Hello [name]', 'bla bla', 'bla bla'] starting_letter before .replace  
['Hello Paul', 'bla bla', 'bla bla'] starting_letter after .replace  
['Hello Paul', 'bla bla', 'bla bla'] letter

0 Answers0