Contar digitos en un string
Arnau Sanchez
pyarnau en gmail.com
Mie Dic 17 12:35:13 CET 2008
Francesc Alted escribió:
> In [45]: timeit len([x for x in a if x.isdigit()])
> 10 loops, best of 3: 14.3 ms per loop
>
> In [46]: timeit sum(1 for c in a if c.isdigit())
> 10 loops, best of 3: 19 ms per loop
>
> In [47]: timeit sum(a.count(c) for c in "0123456789")
> 100 loops, best of 3: 1.11 ms per loop
>
> Por tanto, la solución de Chema es más de 10 veces más rápida que las
> otras (para cadenas suficientemente largas).
>
> Pues sí que da de sí esto de contar dígitos :-)
Si nos pusiéramos a ello no dejaríamos de encontrar otras formas:
In [21]:timeit sum(1 for _ in re.finditer("\d", a))
100 loops, best of 3: 8.34 ms per loop
:-)
Pero la solución de Chema es imbatible!
--
Web: http://www.arnau-sanchez.com
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
Más información sobre la lista de distribución Python-es