Coded Correspondance review

Just finished the two first steps on the off platform project coded correspondance. Struggled a bit, but managed to find a solution. Seen some other people solve it in a completely, maybe neater way, but tried to stick to stuff I’ve only been through in the python course so far. Only thing I had to google was the .index function, as the .find doesnt work on lists.

vishals_message_original = "    xuo jxuhu! jxyi yi qd unqcfbu ev q squiqh syfxuh. muhu oek qrbu je tusetu yj? y xefu ie! iudt cu q cuiiqwu rqsa myjx jxu iqcu evviuj!"


alphabet = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
characters = ["!", ",", " ", ".", "?", "''"]


def decode_letters(letter, lst):
    if letter in characters: 
        lst.append(letter)
    else: 
        x = (alphabet.index(letter)+ 10)
        if x >= (len(alphabet)):
            lst.append(alphabet[x - (len(alphabet))])
        else:
            lst.append(alphabet[x])
            

vishals_message_splitted = vishals_message_original.strip(" ")

decoded_message = []
for words in vishals_message_splitted:
    for char in words:
        decode_letters(char, decoded_message)


decoded_message_final = "".join(decoded_message)
print(decoded_message_final)