Заменить буквы в строке
Есть строка str="тест" . Есть массив arr= [['т','Т'],['Е','е'],['с','S'],['t','T']]
Я пытаюсь заменить каждую букву на каждый елемент массива.
Тоесть первая буква меняется на arr[0][0],arr[0][1] , вторая буква меняется на arr[1][0],arr[1][1]
В конце я пытаюсь получить массив из всевозможных комбинаций.
Я набросал примерно такой код
str = "Sпр"
arrtest=[['S','s','с','С'],['п','П','g','G'],['Р','р','r','R']]
for element1 in arrtest[0]:
final.append(element1+str[1:])
for elementN in final:
for el in arrtest[1]:
final1.append(elementN[0]+el+elementN[2:])
И так далее....
Но длина строки str и массива arrtest может измениться в дальнейшем, и в таком случае нужно добавлять циклы. Можно ли сделать такое в одном цикле?