[pyar] [OT] - Checkeando parentesis balanceados.
Claudio Freire
klaussfreire en gmail.com
Vie Jun 18 18:54:03 ART 2010
2010/6/18 John Rowland Lenton <john.lenton en canonical.com>
> On Fri, Jun 18, 2010 at 05:43:02PM -0300, Roberto Alsina wrote:
> > On Friday 18 June 2010 17:29:27 John Rowland Lenton wrote:
> > > que tal así:
> > >
> > > def balanceados(caso):
> > > try:
> > > re.compile(caso)
> > > except re.error:
> > > return False
> > > else:
> > > return True
> >
> > No necesitás re:
> >
> > def balanceado(caso):
> > try:
> > eval(caso)
> > return True
> > except SyntaxError:
> > return False
>
> eso falla con "()()", que entendí que estaba bien.
> Además,
>
> $ python -m timeit -s 'from q import f_eval, f_re' 'f_eval("(())")'
> 100000 loops, best of 3: 8.9 usec per loop
> $ python -m timeit -s 'from q import f_eval, f_re' 'f_re("(())")'
> 100000 loops, best of 3: 1.24 usec per loop
>
> además además,
>
> $ python -m timeit -s 'from q import f_eval, f_re' 'f_re("("*100 +
> ")"*100)'
> 1000 loops, best of 3: 1.72 msec per loop
> $ python -m timeit -s 'from q import f_eval, f_re' 'f_eval("("*100 +
> ")"*100)'
> s_push: parser stack overflow
>
¿por qué se está pareciendo a una competencia sobre intérpretes de
brainfuck?
Hm....
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20100618/3097e9be/attachment.html>
More information about the pyar
mailing list