Operador "in" de Python

Started by josebita, July 13, 2012, 11:10:28 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

josebita

Últimamente estoy haciendo algunas cosillas en python y una cosa que encuentro que es muy útil es el operador in.
La forma en que funciona es que busca elementos dentro de elementos más grandes. Por ejemplo:
"Hello" in "Hello, World!"   ----->  TRUE
"Hi" in "Hello, World!"        ------> FALSE

pero también
3 in [1, 2, 3, 4]    -----> TRUE
5 in [1, 2, 3, 4]    -----> FALSE


Evidentemente esto se puede hacer con unas funcioncillas simples en bennu, pero la verdad dado que es algo relativamente común de hacer, tener el operador directamente ahorra un montón de código y aporta claridad.

¿Sería posible hacer algo así en Bennu?

KeoH


KeoH

Anoche precisamente estaba pensando en este operador para Bennu .. porque tenia una tabla de 400 elementos .. donde queria sacar en otra tabla los elementos sin repetir xD y este operador me habria servido xDD todavia no se como plantearlo xDD hasta las 4 de la mañana me pegué pa no sacarlo xDD

josebita

¡Ay, perdona! ahora recuerdo haberlo visto. ¡Apoyo tu petición :) !
Además de para lo que comentabas, el operador vale para cosas como leer contenidos de ficheros y cargarlos a memoria sin duplicados:

value = fgets(fd);
if !(value in list)
    list[n++] = value;
end

O, por ejemplo, para guardar una lista de niveles a los que el usuario puede jugar porque ha desbloqueado los logros adecuados:
for(i=1; i<=MAX_LEVELS; i++)
    if(i in unlocked_levels)
        display_unlocked(i);   <--- Muestra el nivel en el selector de niveles de forma que el usuario lo pueda seleccionar.
    else
         display_locked(i);      <---- Lo muestra de forma que el usuario no lo pueda seleccionar.
    end
end

Y cosas así.

Como digo, no aporta nada que ahora mismo no se pueda hacer, pero sí que simplifica la vida al programador.

KeoH

Te comprendo perfectamente xDDD

SplinterGU

Quote from: josebita on July 13, 2012, 11:10:28 AM
Últimamente estoy haciendo algunas cosillas en python y una cosa que encuentro que es muy útil es el operador in.
La forma en que funciona es que busca elementos dentro de elementos más grandes. Por ejemplo:
"Hello" in "Hello, World!"   ----->  TRUE
"Hi" in "Hello, World!"        ------> FALSE

pero también
3 in [1, 2, 3, 4]    -----> TRUE
5 in [1, 2, 3, 4]    -----> FALSE


Evidentemente esto se puede hacer con unas funcioncillas simples en bennu, pero la verdad dado que es algo relativamente común de hacer, tener el operador directamente ahorra un montón de código y aporta claridad.

¿Sería posible hacer algo así en Bennu?


podes usar las funciones de busqueda (cadenas y numeros, segun el caso)
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

josebita

Quote from: SplinterGU on July 13, 2012, 07:37:40 PM
podes usar las funciones de busqueda (cadenas y numeros, segun el caso)
Sí, claro. Pero el operador puede ahorrar código y como concepto creo que es más simple.

SplinterGU

no lo dudo, prefiero concentrar esfuerzos en tener opengl o incluso otros ports...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

josebita

Quote from: SplinterGU on July 13, 2012, 07:46:24 PM
no lo dudo, prefiero concentrar esfuerzos en tener opengl o incluso otros ports...
Parece razonable :)

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2