По описанию сложно понять что именно происходит. Когда какой код вызывается. Редактируете вы при запущенном редакторе или выключенном и много чего еще)
Я конечно не разработчик на питон, но все просто и логично; Итерируемся по массиву lst. Если длинна строки, что является элементом массива = 1 => удаляем ее из массива. На выходе должно получиться что-то вроде этого: ['Hello?', 'my,', 'friend!', 'hoy'] Но тут косяк будет с индексами, так как мы изменяем исходную коллекцию и потом пытаемся получить элемент по индексу, который уже будет выходить за ее пределы.
Как вариант можно изменить вот так:
lst = ['Hello?', 'my,', '-', 'friend!', 'hoy']
i = 0
indexies = []
for i in range(len(lst)):
if len(lst[i]) == 1:
indexies.append(i);
for i in range(len(indexies)):
lst.pop(indexies[i])
print(lst)
barniok, Вариант с префсами в принципе валидный, можно еще реализовать какой-то сервис, который будет отвечать за хранение монет в процессе игры, только реализовать его надо не привязываясь к монобехам.