Re: [Python-es] Buscar índices de un array (que cump le condición) de forma eficiente

2010-03-04 Por tema Pablo Angulo
Kiko escribió: > Hola a todos. > > Estoy intentando buscar los indices de un subconjunto dentro de un > conjunto y quiero saber si existe algo más eficiente que lo que he > pensado. > > Me explico, por ejemplo, yo tengo: > > conjunto = range(1000, 1100, 1) > subconjunto = range(1000, 1100, 3) > > Q

Re: [Python-es] Buscar índices de un array (que cump le condición) de forma eficiente

2010-03-04 Por tema Pablo Angulo
Te escribo a tí directamente porque la lista parece que no me acepta!! Si los elementos de subconjunto están ordenados dentro de conjunto, la búsqueda es O(n): si sabes que los elementos del subconjunto están ordenados dentro del conjunto, no necesitas buscar en toda la lista cada vez,

Re: [Python-es] Buscar índices de un array (que cump le condición) de forma eficiente

2010-03-04 Por tema Pablo Angulo
Daniel Garcia Moreno escribió: > > Según mis conocimientos en computación, esta búsqueda es de orden n^2. > Si el primer conjunto está ordenado, puede llegar a ser de orden > n*log(n) puesto que puedes hacer una búsqueda binaria en lugar de > conjunto.index(valor). Y creo que no vas a poder optimiz

Re: [Python-es] Buscar índices de un array (que cump le condición) de forma eficiente

2010-03-04 Por tema Pablo Angulo
Pablo Angulo escribió: > indices = [] > ultimo = 0 > for v in subconjunto: > ultimo += conjunto[ultimo:].index(v) > indices.append(ultimo) > > [conjunto[j] for j in indices]==subconjunto > > Lamento ser pesado, pero hay que hacer un cambio: indices = [] ulti

Re: [Python-es] Buscar índices de un array (que cump le condición) de forma eficiente

2010-03-04 Por tema Pablo Angulo
Daniel Garcia Moreno escribió: > >> Si la lista grande tiene N elementos y la pequeña M, puedes elegir entre >> O(Mlog(N)), usando bisect. o O(N), con la técnica que te decía antes. >> > O puedes combinar las dos, buscar desde el último indice en adelante > pero hacerlo con busqueda binaria. Y

Re: [Python-es] Buscar índices de un array (que cump le condición) de forma eficiente

2010-03-04 Por tema Pablo Angulo
Olemis Lang (Simelix) escribió: > Aquí por ejemplo hay un caso que ilustra el hecho de no confiar > demasiado en las estimaciones teóricas . Las estimaciones de Pablo et > al se pueden ver afectadas por la eficiencia de la implementación del > método index (el cual no me parece que sea muy O(1) que

Re: [Python-es] Buscar índices de un array (que cump le condición) de forma eficiente

2010-03-04 Por tema Pablo Angulo
Kiko escribió: > tiempo de la primera opción: 0.0149998664856 > for i in subconjunto: > ultimo = conjunto.index(i, ultimo+1) > indices.append(ultimo) > Los primero 25 valores de indices = [0, 3, 6, 9, 12, 15, 18, 21, 24, > 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72] > >

Re: [Python-es] Buscar índices de un array (que cump le condición) de forma eficiente

2010-03-04 Por tema Pablo Angulo
Olemis Lang (Simelix) escribió: > Si no es O(1) entonces sospecho que en > > {{{ > #!python > > ultimo = -1 > for v in subconjunto: > ultimo = conjunto.index(v, ultimo+1) > yield ultimo > }}} > > hay un ciclo `for` explícito más un ciclo implícito `index` No lo sospeches: tiene que hab

Re: [Python-es] Buscar índices de un array (que cump le condición) de forma eficiente

2010-03-04 Por tema Pablo Angulo
Olemis Lang (Simelix) escribió: > No me parece que `index` recuerde el último índice de la lista (no > estamos hablando de iteradores ;o) entre dos llamadas diferentes para > recomenzar la búsqueda de un nuevo elemento (¿ o es que funciona así > internamente ?) ... Normalmente, index comienza desd

Re: [Python-es] Captura de Imagenes WebCam

2010-03-20 Por tema Pablo Angulo
lopz escribió: > O podrías usar software especial para estos menesteres que igual hay variedad. > > "motion" es muy fácil de configurar. Básicamente "apt-get install motion", y ya tienes un miniservidor web con imágenes de la webcam. Además sólo actualiza la imagen si detecta movimiento. __

Re: [Python-es] multiasignación de variables

2010-04-30 Por tema Pablo Angulo
Puedes sobreescribir el método __getattribute__ de tu clase: def__getattribute__(self, name): return xml_none(busqueda_xml ('usuario',name)) Estarías usando los mismos nombres para las variables que para las columnas de la tabla. Tal y como te lo cuento, harías demasiadas consultas a la base

Re: [Python-es] multiasignación de variables

2010-04-30 Por tema Pablo Angulo
Otra opción más pedestre: genera el codigo python con un script python, copias y pegas: for nombre_var in nombres_variables: nombre_col = nombres_variables[nombre_var] print '%s = xml_none(busqueda_xml ('usuario', %s))'%(nombre_var, nombre_col) monoBOT escribió: > > Seguro que existen m