What is the best way to loop over a python string backwards?
The following seems a little awkward for all the need of -1 offset:
string = "trick or treat" for i in range(len(string)-1, 0-1, -1): print string[i]
The following seems more succinct, but is it actually generate a reversed string so that there is a minor performance penalty?
string = "trick or treat" for c in string[::-1]: print c
Try the reversed builtin:
for c in reversed(string): print c
The reversed() call will make an iterator rather than copying the entire string.
PEP 322 details the motivation for reversed() and its advantages over other approaches.
Answered By – Raymond Hettinger
Answer Checked By – Mildred Charles (BugsFixing Admin)