[pyar] [OT] - Checkeando parentesis balanceados.
Roberto Alsina
ralsina en netmanagers.com.ar
Vie Jun 18 14:05:13 ART 2010
On Friday 18 June 2010 13:59:47 Roberto Alsina wrote:
> On Friday 18 June 2010 13:53:45 Roberto Alsina wrote:
> > def balanceado(t):
> > t1=[(-1)**s.find(c) for c in t]
> > if any (map (lambda x: x<0, [sum (t1[:i]) for i in
> >
> > range(len(t1))])) or t1[-1]:
> > return False
> > return True
>
> Podría hacer un
>
> lambda balanceado t: return not (any (map (lambda x: x<0, [sum (t1[:i]) for
> i in range(len(t1))])) or t1[-1])
>
> pero me pareció demasiado horrible ;-)
Y ni siquiera es SUFICIENTEMENTE horrible porque me dejé media función afuera.
No veo como hacerlo one-liner, sería algo como
def balanceado (t):
t1=[(-1)**"()".find(c) for c in t]
return not (any (map (lambda x: x<0, [sum (t1[:i])\
for i in range(len(t1))])) or t1[-1])
More information about the pyar
mailing list