What is the simplest way to swap each pair of adjoining chars in a string with Python?

oneliner:

>>> s="badcfe"
>>> ''.join([ s[x:x+2][::-1] for x in range(0, len(s), 2) ])
'abcdef'
  • s[x:x+2] returns string slice from x to x+2; it is safe for odd len(s).
  • [::-1] reverses the string in Python
  • range(0, len(s), 2) returns 0, 2, 4, 6 … while x < len(s)

Leave a Comment