Строки являются неизменными в Python, поэтому вы не можете поменять местами символы.Вы должны построить новую строку.
Кроме того, ваш код не работает для каждой строки в passlist
.Вы перебираете строку в passlist
в первом блоке for
, но затем используете переменную temp
вне этого блока.Это означает, что второй цикл for
повторяется только с последней строкой.
Теперь способ сделать то, что вы хотите, может быть:
for i in range(len(passlist)):
pass_ = passlist[i]
new_pass = [c for c in pass_] # convert the string in a list of chars
for j in range(len(pass_) / 2):
new_pass[j], new_pass[j+2] = new_pass[j+2], new_pass[j] # swap
listt.append(''.join(new_pass)) # convert the list of chars back to string