eficiencia de numpy.array

Pepe Aracil pepe en diselpro.com
Jue Mar 8 20:06:23 CET 2007


Ok. gracias Francesc y Chema.

Mi curiosidad se ha satisfecho plenamente ;-)

Ya tengo otra cosa más que añadir a mi discurso cuando predico
a los infieles X-DDD

Salud.




Francesc Altet escribió:
> El dj 08 de 03 del 2007 a les 18:23 +0100, en/na Pepe Aracil va
> escriure:
>>  >> (con 'a>100' se obtiene un array de booleanos)
>>
>> Y esto como se implementa en python ???
>> ¿Sobreescribiendo el método __cmp__ del objeto array?
> 
> No. El __cmp__ no sirve porque en una comparación (a.__cmp__(b)), éste
> sólo devuelve un número (negativo si a < b, cero si 'a == b' o positivo
> si 'a > b').
> 
> Lo que se usa para sobrecargar en este caso son la comparaciones
> 'enriquecidas' (rich comparisons), como el __le__, __eq__, __gt__, etc.
> Éstos operadores, al revés que __cmp__, sí que pueden devolver objetos
> generales. Se introdujeron en Python 2.1, seguramente debido a las
> necesidades de la comunidad calculista (alrededor de Numeric, por aquel
> entonces).
> 
> Además de los operadores de comparaciones enriquecidas, NumPy también
> soporta los operadores __and__ y __or__, de manera que se puede hacer:
> 
> a[(a > 10) & (a < 100)]
> 
> que selecciona los valores comprendidos entre 10 y 100.
> 
> Por desgracia, y como habrás observado, __and__ se mapea al operador
> bit-a-bit '&' y __or__ al '|' (también bit-a-bit), mientras que los
> operadores lógicos ('and' y 'or') no se pueden sobrecargar actualmente.
> Así que esto nos impide hacer cosas como:
> 
> a[a > 10 and a < 100]
> 
> que seria mucho más lógico.
> 
> Existen intentos de añadir la posibilidad de sobrecargar los operadores
> lógicos, pero la cosa no es sencilla, como se puede ver en el PEP 335, y
> en este thread:
> 
> http://mail.python.org/pipermail/python-dev/2004-September/048763.html
> 
> 
> Saludos,
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es