Reversing a string

Stefan Behnel stefan.behnel-n05pAM at web.de
Sun Jul 1 07:17:06 EDT 2007


Martin Durkin wrote:
> Duncan Booth <duncan.booth at invalid.invalid> wrote in
> news:Xns996067AFF71DDduncanbooth at 127.0.0.1: 
> 
>> Martin Durkin <nospam at williamsdurkin.co.uk> wrote:
>>
>>>>>>> def rev(x):
>>>>             mylist = []
>>>>             for char in x:
>>>>                  mylist.append(char)
>>>>             mylist.reverse()
>>>>             for letter in mylist:
>>>>                  print letter
>>>>
>>>> However, compare the incredible difference in clarity and elegance
>>>> between that and:
>>>>
>>>>>>>> print "\n".join("spam"[::-1])
>>> OK, maybe I'm missing the point here as I'm new to Python. The first
>>> one seems clearer to me. What am I missing?
>>>
>> I think all you are missing is familarity with Python, but I too don't
>> like one-liners simply for their own sake.
>>
> 
> I guess that's it. The first one reads more like a textbook example which 
> is about where I am at. Is there any speed benefit from the one liner?

Almost definitely. But you can check yourself by using the timeit module.

Stefan



More information about the Python-list mailing list