Как заменять объекты на несколько элементов из массива?
Вот код:
txt = '5+5 == &{5+5}, 6+6 == &{6+6}'
nums = [10, 12];
for i in nums:
txt = txt.replace(...
Я хочу заменить &{5+5} на элемент из массива nums но как? Пожалуйста решите!
Заранее спасибо!
Ответы (1 шт):
Автор решения: SergFSM
→ Ссылка
с помощью re.sub получится красивее, а если через replace, то у меня получилось такое безобразие:
txt = '5+5 == &{5+5}, 6+6 == &{6+6}'
nums = [10, 12]
txt = ','.join(i.replace(i[i.index('&'):], str(j)) for i,j in zip(txt.split(','), nums))
print(txt) # 5+5 == 10, 6+6 == 12
UPD с регуляркой вот так получилось:
from re import sub
nums = iter(nums)
txt = sub(r'&\{.+?\}', lambda m: str(next(nums)), txt)