Поскольку строки являются неизменяемыми, другой способ сделать это состоит в том, чтобы превратить строку в список, который затем можно проиндексировать и изменить без какой-либо хитрости среза. Однако, чтобы вернуть список обратно в строку, вам нужно будет использовать .join()
, используя пустую строку.
>>> hash = '355879ACB6'
>>> hashlist = list(hash)
>>> hashlist.insert(4, '-')
>>> ''.join(hashlist)
'3558-79ACB6'
Я не уверен, как это соотносится с производительностью, но я чувствую, что это проще для глаз, чем другие решения. ; -)