[pyar] [OT] - Checkeando parentesis balanceados.

Carlos Marcelo Cabrera point_to_null en esdebian.org
Vie Jun 18 23:57:06 ART 2010


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".

Saludos

-- 
/* ************************************************************
Carlos Marcelo Cabrera, alias "Point to null"
Medios de contacto adicionales:
    Weblog: http://pointtonull.esdebian.org
    Jabber: point_to_null en esdebian.org
    Yahoo: dxm84ar en yahoo.com.ar
    ICQ: 303014677 
************************************************************ */
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: no disponible
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20100618/7c91eb34/attachment.sig>


More information about the pyar mailing list