[pyar] [OT] - Checkeando parentesis balanceados.

Roberto Alsina ralsina en netmanagers.com.ar
Sab Jun 19 00:16:10 ART 2010


Carlos Marcelo Cabrera writes:

> El Fri, 18 Jun 2010 22:14:04 -0300
> Sebastian Bassi <sbassi en clubdelarazon.org> escribió:
>> On Fri, Jun 18, 2010 at 5:35 PM, Hystrix <ego en hystrix.com.ar> wrote:
>> >> def balanceado(s):
>> >>        while s != s.replace('()',''): s=s.replace('()','')
>> >>        return not s  
>> > La mas linda por lejos, sin duda.  
>> 
>> Para mi esto es pensamiento lateral o "thinking outside the box".
>> Felicitaciones Roberto.
> 
> Totalmente de acuerdo, es la solución más elegante.
> 
> Aunque.. ¿no es un poco más eficiente (y legible) usar "in"?. Algo así:
> 
> """
> def is_balanced(string):
>     while "()" in string:
>         string = string.replace("()", "")
>     return not string
> """
> 
> Según timeit usando "in" tarda solo un 60% del tiempo usado con la versión
> ".replace".

Sí, es mejor.





More information about the pyar mailing list