palindrome iteration

Richard Arts arts.richard at gmail.com
Fri Aug 27 23:47:26 CEST 2010


On Fri, Aug 27, 2010 at 10:51 PM, Jussi Piitulainen
<jpiitula at ling.helsinki.fi> wrote:
> MRAB writes:
>> On 27/08/2010 20:43, Jussi Piitulainen wrote:
>>> Dave Angel writes:
>>>> Jussi Piitulainen wrote:
>>>>> Agreed. But is there any nicer way to spell .reverse than [::-1]
>>>>> in Python? There is .swapcase() but no .reverse(), right?
>>>>>
>>>> There can't be a .reverse() method on string, because it's
>>>> immutable. You could use
>>>>
>>>>      "".join(reversed(pal))
>>>>
>>>> but I'd prefer  pal[::-1]  as I said earlier.
>>>
>>> There could easily be a .reverse() method on strings. It would
>>> return the reversed string, like .swapcase() returns the swapcased
>>> string.
>>
>> Lists have a .reverse method, but it's an in-place reversal. In
>> order to reduce confusion, a string method which returned the string
>> reversed would be better called .reversed().
>
> Yes, agreed.
>
> Meanwhile, I have decided to prefer this:
>
> def palindromep(s):
>    def reversed(s):
>        return s[::-1]
>    return s == reversed(s)
> --
> http://mail.python.org/mailman/listinfo/python-list
>

That seems like a bit of overkill... Why would you want to define a
function in a function for something trivial like this? Just

def palindrome(s):
    return s[::-1]

will do fine.

Of course, you can stick the inner function in a library somewhere if you like.

Regards,
Richard



More information about the Python-list mailing list