[pyar] listas de peras, elefantes y dinosaurios y <

Daniel Moisset dmoisset en machinalis.com
Lun Mar 12 12:24:45 ART 2012


Lei en algun lado que eso se optimizaba, y aca me da:

dmoisset:~$ python /usr/lib/python2.6/timeit.py -s "r = xrange(10)" "3 in r"
10000000 loops, best of 3: 0.158 usec per loop

dmoisset:~$ python /usr/lib/python2.6/timeit.py -s "r =
xrange(10000000)" "3 in r"
10000000 loops, best of 3: 0.158 usec per loop

No tengo idea en que lugar del fuente esta eso (imagine que era un
__contains__, pero no), pero el benchmark dice que es O(1)

Saludos,
   D.


2012/3/12 Claudio Freire <klaussfreire en gmail.com>:
> On Mon, Mar 12, 2012 at 12:16 PM, Claudio Freire <klaussfreire en gmail.com> wrote:
>>> No, xrange es mas astuto que eso
>>
>> ¿posta?
>>
>> Voy a tener que leer la fuente...
>
> Nop nop... en esta no te creo.
>
> En 2.7, Objects/rangeobject.c:185
>
> 0,                          /* tp_richcompare */
>
> O sea que no tiene comparación más que el default, y como tiene
> tp_iter y tp_as_sequence, entonces va a iterar el objeto (contar desde
> a hasta b), hasta que encuenstra x.
>
> O sea, O(b-a)
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar



More information about the pyar mailing list