Not sure where I picked this up, but it stuck and I use it all the time.
Can someone explain how this string reversal works? I use it to test for palindromic strings without converting it to a mutable type first.
>>> word = "magic"
>>> magic = word[::-1]
>>> magic
'cigam'
I would put my best guess, but I don’t want to walk in with any preconceptions about the internals behind this useful trick.
The slice notation goes like this:
So, when you do
[::-1], it means:start: nothing (default)end: nothing (default)step: -1 (descendent order)So, you’re going from the end of the list (default) to the first element (default), decreasing the index by one (-1).
So, as many answers said, there is no sorting nor in-place swapping, just slice notation.