Я пытаюсь добавить в строку несколько вызовов функций, которые, как вы могли бы сказать, «обновят» строку.Например, если у вас есть:
'This is a string'
Вы можете изменить его на:
'This is my string'
Или тогда:
'This is my string here'
и т. Д.
Мои данные для строки поступают из вложенного словаря, и я создал функцию, которая изменит ее на строку. Эта функция называется 'create_string ()' .Я не буду публиковать его, потому что он работает нормально (хотя при необходимости я внесу изменения. Но поверьте мне на слово, что он работает нормально).
Вот функция 'Updater ()', которая принимает три аргумента: Строка, позиция, которую вы хотите изменить, и строка, которую вы хотите вставить.
def updater(c_string, val, position):
data = c_string.split(' ')
data[position] = str(val)
string = ' '.join(data)
return string
x = create_string(....)
new_string = updater(x,'hey', 0)
Который до этого моментаработает нормально:
'hey This is a string'
Но когда вы добавляете другой вызов функции, он не отслеживает старую строку:
new_string = updater(x,'hey',0)
new_string = updater(x,'hi',2)
> 'This is hi string'
Я знаю, что причина, вероятно, из-заприсвоение переменной, но я пытался просто вызывать функции, но мне все равно не повезло.
Как мне заставить это работать?
Спасибо за помощь!
Примечание: Пожалуйста, не тратьте свое время на функцию create_string (), она работает нормально.Я думаю, что это только функция Updater () и, возможно, даже просто вызовы функций.
** Редактирование: ** Вот как будет выглядеть ожидаемый результат:
new_string = updater(x,'hey',0)
new_string = updater(x,'hi',2)
> 'hey is hi string'