Re: [Python-es] PYSQLITE: Cómo saber los nombres d e todas las tablas que contenga una base sqlite

2010-03-04 Por tema Eli Bendersky
Puedes usar la tabla sqlite_master:

select name from SQLite_Master




2010/3/5 Ramiro 

> Como el título dice, quisiera saber cómo pedir los nombres de las tablas
> que contenga una base de datos sqlite
>
> La verdad no entiendo la documentación de la librería sqlite3, me pasé
> horas buscando y no encontré la solución.
>
> También si me podrían pasar el lugar de la documentación donde habla de eso
> les agradecería, así  me ubico de una vez.
>
>
> saludos
>
>
>
> --
>
> Encontra las mejores recetas con Yahoo! Cocina.
> http://ar.mujer.yahoo.com/cocina/
>
> ___
> Python-es mailing list
> Python-es@python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] PYSQLITE: Cómo saber los nombres d e todas las tablas que contenga una base sqlite

2010-03-04 Por tema Ramiro
Como el título dice, quisiera saber cómo pedir los nombres de las tablas que 
contenga una base de datos sqlite

La verdad no entiendo la documentación de la librería sqlite3, me pasé horas 
buscando y no encontré la solución.

También si me podrían pasar el lugar de la documentación donde habla de eso les 
agradecería, así  me ubico de una vez.


saludos





  Yahoo! Cocina

Encontra las mejores recetas con Yahoo! Cocina.


http://ar.mujer.yahoo.com/cocina/___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Como saber el tipo de columna en una base de datos SQLITE

2010-03-04 Por tema Ramiro

Pude hacer andar la solución que me pasaste Chema Cortes, gracias por la mano 
que me tiraste.

Dejo un ejemplo:


#!/usr/bin/python

import gtk, pygtk
import sqlite3 as sql


bbdd = sql.connect('datos.bd')
cur = bbdd.cursor()

cur.execute("pragma table_info('TABLA_1')")

r = cur.fetchall()

for columna in r:
    print columna

cur.close()
bbdd.close()




SALUDOS



--- El sáb 6-feb-10, Chema Cortes  escribió:

De: Chema Cortes 
Asunto: Re: [Python-es] Como saber el tipo de columna en una base de datos 
SQLITE
Para: "La lista de python en castellano"
 
Fecha: sábado, 6 de febrero de 2010, 1:55

El 5 de febrero de 2010 02:17, Ramiro  escribió:

> Yo utilizo cursor.description para conocer los nombres de las columnas. Lo 
> malo de eso es que no puede estar vaacía la base.
> Pero de los tipos de cada columna ni idea de como sacarla, en la 
> documentación que aparece sobre la librería sqlite3 de python no muestra nada 
> sobre como sacar los tipos de datos.

Si entiendo bien, el problema es que pysqlite no da más información en
el cursor.description que el nombre de los campos (el resto de
información se rellena con Nones).

Tendrás que usar entonces el segundo método que te indiqué:

  cur.execute("pragma table_info('tabla')")


Por cada campo devuelve una tupla
 con:

- número de orden
- nombre del campo
- tipo (con el que se ha definido la tabla)
- nullable (0/1)
- valor por defecto
- clave primaria (0/1)


A partir de la definición de la tabla, se siguen una sencillas reglas
para sacar la afinidades a partir del nombre del tipo (mira en la
documentación).
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/





  
Encontra las mejores recetas con Yahoo! Cocina.


http://ar.mujer.yahoo.com/cocina/
-Adjunto en línea a continuación-

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/



  Yahoo! Cocina

Encontra las mejores recetas con Yahoo! Cocina.


http://ar.mujer.yahoo.com/cocina/___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Como saber el tipo de columna en una base de datos SQLITE

2010-03-04 Por tema Ramiro
Pude hacer andar la solución que me pasaste Chema Cortes, gracias por la mano 
que me tiraste.

Dejo un ejemplo:


#!/usr/bin/python

import gtk, pygtk
import sqlite3 as sql


bbdd = sql.connect('datos.bd')
cur = bbdd.cursor()

cur.execute("pragma table_info('TABLA_1')")

r = cur.fetchall()

for columna in r:
    print columna

cur.close()
bbdd.close()




SALUDOS



--- El sáb 6-feb-10, Chema Cortes  escribió:

De: Chema Cortes 
Asunto: Re: [Python-es] Como saber el tipo de columna en una base de datos 
SQLITE
Para: "La lista de python en castellano" 
Fecha: sábado, 6 de febrero de 2010, 1:55

El 5 de febrero de 2010 02:17, Ramiro  escribió:

> Yo utilizo cursor.description para conocer los nombres de las columnas. Lo 
> malo de eso es que no puede estar vaacía la base.
> Pero de los tipos de cada columna ni idea de como sacarla, en la 
> documentación que aparece sobre la librería sqlite3 de python no muestra nada 
> sobre como sacar los tipos de datos.

Si entiendo bien, el problema es que pysqlite no da más información en
el cursor.description que el nombre de los campos (el resto de
información se rellena con Nones).

Tendrás que usar entonces el segundo método que te indiqué:

  cur.execute("pragma table_info('tabla')")


Por cada campo devuelve una tupla con:

- número de orden
- nombre del campo
- tipo (con el que se ha definido la tabla)
- nullable (0/1)
- valor por defecto
- clave primaria (0/1)


A partir de la definición de la tabla, se siguen una sencillas reglas
para sacar la afinidades a partir del nombre del tipo (mira en la
documentación).
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/



  Yahoo! Cocina

Encontra las mejores recetas con Yahoo! Cocina.


http://ar.mujer.yahoo.com/cocina/___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] Precisión sobre funciones generadora s en Py WAS: Buscar índices de un array (que cumple condición) de forma eficiente

2010-03-04 Por tema Olemis Lang (Simelix)
2010/3/4 Arnau Sanchez :
> On 04/03/10 16:43, Kiko wrote:
>
[...]
>
> De verdad que vale la pena, los generadores son una de las herramientas más
> potentes de Python.

+1

> Para crear un generator tendrás que definirlo (también
> con "def", aunque no es una función).

Sí es una función, pero que se crea con tiene un flag especial .
Cuando el intérprete la ejecuta, crea automáticamente un objeto que
llama la función para calcular valores de una secuencia

AFAIK

ejemplo sencillo, los números naturales

{{{
#!python

def count():
  i = 0
  while True :
  yield i
  i+= 1
}}}

-- 
Regards,

Olemis.

Blog ES: http://simelo-es.blogspot.com/
Blog EN: http://simelo-en.blogspot.com/

Featured article:
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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

2010-03-04 Por tema Arnau Sanchez

On 04/03/10 16:43, Kiko wrote:


indices = []
ultimo = -1
for i in subconjunto:
 ultimo = conjunto.index(i, ultimo+1)
 indices.append(ultimo)
 #yield ultimo



El yield me da error tal como lo he puesto ¿?.


Claro, un "yield" sólo funciona dentro de un generador. Supongo que nunca has 
trabajado con ellos, busca información por google, por ejemplo:


http://docs.python.org.ar/tutorial/classes.html#generadores

De verdad que vale la pena, los generadores son una de las herramientas más 
potentes de Python. Para crear un generator tendrás que definirlo (también con 
"def", aunque no es una función). En nuestro ejemplo:


def gen():
  ultimo = -1
  for v in subgroup:
  ultimo = group.index(v, ultimo+1)
  yield ultimo

Si haces gen() verás que devuelve (inmediatamente, ya que no lo ha ejecutado 
todavía) un objeto generador, no una lista; siempre puedes obtener el resultado 
completo en forma de lista, así: list(gen()). Pero muchas veces uno no quiere 
tener toda la lista, sólo iterar (una vez) sobre el resultado. En ese caso:


for item in gen():
  # hacer algo con item

Por último: Daniel proponía usar bisect; con la misma idea, y refactorizando un 
pelín, quedaría así:


def get_positions(group, subgroup):
  index = 0
  for element in subgroup:
  index = bisect.bisect(group, element, index)
  yield index-1

arnau
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] OT py2exe y windows XP

2010-03-04 Por tema Dr. Bobus
El Mon, 15 Feb 2010 16:13:20 -0500
Manuel Alejandro Cerón Estrada  dijo:

> Hola.

Hola todos.

> 
> El día 15 de febrero de 2010 15:53, Dr. Bobus  escribió:
> > Hola todos:
> >
> > No se si es muy correcto enviar este mensaje a esta lista, pero quería 
> > saber si puede alguien ayudarme.
> >
> > Un amigo me ha pedido un pequeño script para transformar unos ficheros 
> > antiguos dbf a algo que pueda usar (csv).
> >
> > El script lo he hecho usando el paquete dbf de Ethan Furman (ver 0.84.18) 
> > [1]. Abro los ficheros, realizo las transformaciones que me pidió y lo 
> > grabo en csv.
> >
> > El asunto funciona tan ricamente, pero mi amigo usa windows y no tiene 
> > python instalado. La cosa es que le "compilé" el script con py2exe.
> >
> > Tras "compilarlo" lo he probado en varias instalaciones windows que tengo a 
> > mano (Windows 2000, windows XP y Windows 7) y funciona perfecto. Sin 
> > embargo, a él no le funciona (usa windows XP último service Pack). Me 
> > comenta que al ejecutarlo le dice:
> >
> > "no se pudo iniciar la aplicacion porque su configuracion es incorrecta. 
> > Reinstalar aplicacion puede solucionar el problema."
> >
> > La verdad es que el programa no necesita ninguna instalación ni 
> > configuración, copiarlo en una carpeta, poner en ella los ficheros a 
> > transformar y darle doble clic. Así funciona en todas las pruebas que he 
> > hecho. No se precisan permisos de administrador ni nada por el estilo. El 
> > programa no hace nada más que abrir y cerrar ficheros. Donde lo he probado 
> > lo he ejecutado como usuario normal.
> >
> > He estado mirando en Google y sólo he encontrado una entrada que no me 
> > resuelve nada. No tengo ni idea de lo que esta diciendo Windows.
> >
> > Las opciones para la generación en py2exe fueron:
> > "py2exe":{
> >    "unbuffered": True,
> >    "optimize": 2,
> >    "excludes": ["pywin", "pywin.debugger", "pywin.debugger.dbgcon",
> >                 "pywin.dialogs", "pywin.dialogs.list",
> >                 "Tkconstants","Tkinter","tcl"
> >                 ]
> >     }
> >
> > Esto lo hice en una instalación de Python 2.6.4 usando las librerias 
> > estandar salvo la comentada para manejar ficheros dbf.
> >
> >
> > Alguna ayuda?
> 
> Tu problema ocurre porque los binarios oficiales de Python 2.6 para
> Windows son compilados con MS Visual C++ 9 y por lo tanto dependen de
> una biblioteca llamada 'msvcr90.dll'. En tus instalaciones de Windows
> el programa funciona bien porque probablemente ya tengas una
> aplicación que use esta biblioteca y la haya instalado en tu sistema.
> El mismo Python 2.6 instala esta biblioteca.
> 
> Ahora la solución es sencilla: tienes que distribuir tu programa junto
> con la librería 'msvcr90.dll' y el archivo manifiesto
> 'Microsoft.VC90.CRT.manifest'. Estos archivos deben estar en algún
> lugar de tu disco duro, pero si quieres conseguirlos fácilmente,
> instala Python 2.6 en modo "Sólo para este usuario" y te aparecerán en
> la carpeta C:\Python26 o dónde lo hayas instalado.


Muchas gracias con retraso, hice como se comenta en esta receta y efectivamente 
funciona. Ese era el problema.
Realicé una instalación de windows "fresca" en Virtual Box y efectivamente el 
programa no funcionaba y pude reproducir el error. Al instalar el MS Visual C++ 
9  que instala la librería que tu comentas el programa ya funcionaba.

No he contestado antes a la lista pues mi amigo tardo "un poco" en probar la 
solución. Instaló la librería y el script ya le funciona.

Saludos y gracias.

Dr. Bobus

-- 
"...[Linux's] capacity to talk via any medium except smoke signals."
(By Dr. Greg Wettstein, Roger Maris Cancer Center)


signature.asc
Description: PGP signature
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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

2010-03-04 Por tema Olemis Lang (Simelix)
2010/3/4 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 desde el principio, pero justo por eso le
> pasamos otro argumento más a index:
>
> ultimo = conjunto.index(v, ultimo+1)

¡ Caramba, ya sabía yo ! Tengo que cambiar mis espejuelos urgentemente ... :P

-- 
Regards,

Olemis.

Blog ES: http://simelo-es.blogspot.com/
Blog EN: http://simelo-en.blogspot.com/

Featured article:
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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 desde el principio, pero justo por eso le
pasamos otro argumento más a index:
 
ultimo = conjunto.index(v, ultimo+1)
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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

2010-03-04 Por tema Olemis Lang (Simelix)
2010/3/4 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 haber un bucle para encontrar el índice, pero
> en cuanto encuentras el primer índice con ese valor, te sales del bucle.
> ¿Cuántas iteraciones haces del bucle en total? Bueno, puede que para
> algún caso particular hagan falta muchas iteraciones, pero la suma de
> todas las iteraciones no puede superar N: La primera iteración del bucle
> "for v in subconjunto", recorres desde 0 hasta indice[0], luego desde
> indice[1] hasta indice[2],... si sumas todas esas cantidades tienes:
>
> (indice[0] - 0) + (indice[1]-indice[0]) + ... + (indice[M-1] -
> indice[M-2]) = indice[M-1] < N

Tenía entendido que era así

indice[0] + indice[1] + ... + indice[M-1] = sum(indice[i] for i in
xrange(M)) <= N * (N + 1) / 2 - M * (M+ 1) / 2

peor caso cuando son los M últimos elementos del arreglo ;o)

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 ?) ... Quizás es que no comprendí la parte del `-
indice[0]` ... `- indice[M - 1]`

La solución que presenté antes basada en itertools.count si funciona
apróximadamente como se describe acá y por tanto resulta O(N) en el
peor caso

;o)

-- 
Regards,

Olemis.

Blog ES: http://simelo-es.blogspot.com/
Blog EN: http://simelo-en.blogspot.com/

Featured article:
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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 haber un bucle para encontrar el índice, pero
en cuanto encuentras el primer índice con ese valor, te sales del bucle.
¿Cuántas iteraciones haces del bucle en total? Bueno, puede que para
algún caso particular hagan falta muchas iteraciones, pero la suma de
todas las iteraciones no puede superar N: La primera iteración del bucle
"for v in subconjunto", recorres desde 0 hasta indice[0], luego desde
indice[1] hasta indice[2],... si sumas todas esas cantidades tienes:

(indice[0] - 0) + (indice[1]-indice[0]) + ... + (indice[M-1] -
indice[M-2]) = indice[M-1] < N
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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

2010-03-04 Por tema Olemis Lang (Simelix)
2010/3/4 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]
>>
>> tiempo de mi opción, la original: 41.2180001736
>> indices1 = [conjunto.index(i) for i in subconjunto]
>> Los primero 25 valores de indices1 = [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]
>>
>> tiempo de la tercera opción: 0.046313354
>> indices2 = [bisect.bisect(conjunto, i) for i in subconjunto]
>> Los primero 25 valores de indices2 = [1, 4, 7, 10, 13, 16, 19, 22, 25,
>> 28, 31, 34, 37, 40, 43, 46, 49, 52, 55, 58, 61, 64, 67, 70, 73]
>>
>> Menos mal que he preguntado a los expertos.
>>
>> Muchas gracias por las mejoras. Tanto la primera opción como la
>> tercera son infinitamente mejores que la mía y aceptables en tiempo usado.
>
> Las mediciones de tiempo hay que tomarlas con cautela: si subconjunto es
> mucho más pequeño que conjunto, entonces Mlog(N) es menor que N, y te
> interesa usar el tercer método.

Esto también es real. Por ejemplo, normalmente los algoritmos híbridos
son los que se utilizan más frecuentemente. Por ejemplo, consideren lo
siguiente [1]_ :

{{{
In Java, the Arrays.sort() methods use merge sort or a tuned quicksort
depending on the datatypes and for implementation efficiency switch to
insertion sort when fewer than seven array elements are being
sorted.[6] Python uses timsort, another tuned hybrid of merge sort and
insertion sort.
}}}

FWIW
;o)

.. [1] Comparison with other sort algorithms
 
(http://en.wikipedia.org/wiki/Mergesort#Comparison_with_other_sort_algorithms)

-- 
Regards,

Olemis.

Blog ES: http://simelo-es.blogspot.com/
Blog EN: http://simelo-en.blogspot.com/

Featured article:
Robots activos para Google Wave: introducción a la versión 2 de la API
- 
http://feedproxy.google.com/~r/simelo-es/~3/ltPGNuqYzOM/google-wave-developer-blog-introducing.html
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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

2010-03-04 Por tema Olemis Lang (Simelix)
2010/3/4 Olemis Lang (Simelix) :
> 2010/3/4 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 digamos, pero
>>> no tengo los detalles en la mano ...) . E.g. si fuera O(n), O(log(n))
>>> ... en el peor caso entonces todos los análisis anteriores no serían
>>> del todo precisos (CMIIW)
>>>
>>
>> index no es O(1), sino que tarda tanto como tenga que buscar. Si tiene
>> que recorrer toda la lista, será O(n). En este caso, el tiempo total es
>> O(n) porque no se pasa dos veces por el mismo elemento de conjunto,

AFAICS sí se hace esto dentro de `index` , ¿ o no ? Lo que el ciclo
«no se ve» y por tanto está implícito (y es posible pasar por alto ese
detalle ;o)

CMIIW

-- 
Regards,

Olemis.

Blog ES: http://simelo-es.blogspot.com/
Blog EN: http://simelo-en.blogspot.com/

Featured article:
Support micro-seconds as added by Trac in revision 9210 for upcoming
0.12... - http://bitbucket.org/osimons/trac-rpc-mq/changeset/62ffe719a84a/
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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

2010-03-04 Por tema Kiko
El 4 de marzo de 2010 17:33, Pablo Angulo  escribió:

> 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]
> >
> > tiempo de mi opción, la original: 41.2180001736
> > indices1 = [conjunto.index(i) for i in subconjunto]
> > Los primero 25 valores de indices1 = [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]
> >
> > tiempo de la tercera opción: 0.046313354
> > indices2 = [bisect.bisect(conjunto, i) for i in subconjunto]
> > Los primero 25 valores de indices2 = [1, 4, 7, 10, 13, 16, 19, 22, 25,
> > 28, 31, 34, 37, 40, 43, 46, 49, 52, 55, 58, 61, 64, 67, 70, 73]
> >
> > Menos mal que he preguntado a los expertos.
> >
> > Muchas gracias por las mejoras. Tanto la primera opción como la
> > tercera son infinitamente mejores que la mía y aceptables en tiempo
> usado.
> Las mediciones de tiempo hay que tomarlas con cautela: si subconjunto es
> mucho más pequeño que conjunto, entonces Mlog(N) es menor que N, y te
> interesa usar el tercer método.
> ___
> Python-es mailing list
> Python-es@python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>

De acuerdo contigo.

Pero con este ejercicio, lo que queda claro es que cualquiera de las dos
propuestas es infinitamente mejor que la inicial (la mía) en tiempo de
cálculo y ambas aceptables para lo que necesito ahora mismo.
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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

2010-03-04 Por tema Olemis Lang (Simelix)
2010/3/4 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 digamos, pero
>> no tengo los detalles en la mano ...) . E.g. si fuera O(n), O(log(n))
>> ... en el peor caso entonces todos los análisis anteriores no serían
>> del todo precisos (CMIIW)
>>
>
> index no es O(1), sino que tarda tanto como tenga que buscar. Si tiene
> que recorrer toda la lista, será O(n). En este caso, el tiempo total es
> O(n) porque no se pasa dos veces por el mismo elemento de conjunto, pero
> eso no significa que index sea O(1).

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`, lo que me
hace pensar que el desempeño en el peor caso puede ser O(M * N) y en
el mejor sospecho que sea O(M^2), solo que hay una realidad, el ciclo
implícito es mucho más eficiente pues está implementado directamente
en (C)Python

CMIIW

;o)

-- 
Regards,

Olemis.

Blog ES: http://simelo-es.blogspot.com/
Blog EN: http://simelo-en.blogspot.com/

Featured article:
Support micro-seconds as added by Trac in revision 9210 for upcoming
0.12... - http://bitbucket.org/osimons/trac-rpc-mq/changeset/62ffe719a84a/
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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]
>
> tiempo de mi opción, la original: 41.2180001736
> indices1 = [conjunto.index(i) for i in subconjunto]
> Los primero 25 valores de indices1 = [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]
>
> tiempo de la tercera opción: 0.046313354
> indices2 = [bisect.bisect(conjunto, i) for i in subconjunto]
> Los primero 25 valores de indices2 = [1, 4, 7, 10, 13, 16, 19, 22, 25,
> 28, 31, 34, 37, 40, 43, 46, 49, 52, 55, 58, 61, 64, 67, 70, 73]
>
> Menos mal que he preguntado a los expertos.
>
> Muchas gracias por las mejoras. Tanto la primera opción como la
> tercera son infinitamente mejores que la mía y aceptables en tiempo usado.
Las mediciones de tiempo hay que tomarlas con cautela: si subconjunto es
mucho más pequeño que conjunto, entonces Mlog(N) es menor que N, y te
interesa usar el tercer método.
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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 digamos, pero
> no tengo los detalles en la mano ...) . E.g. si fuera O(n), O(log(n))
> ... en el peor caso entonces todos los análisis anteriores no serían
> del todo precisos (CMIIW)
>   
index no es O(1), sino que tarda tanto como tenga que buscar. Si tiene
que recorrer toda la lista, será O(n). En este caso, el tiempo total es
O(n) porque no se pasa dos veces por el mismo elemento de conjunto, pero
eso no significa que index sea O(1).
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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

2010-03-04 Por tema Olemis Lang (Simelix)
2010/3/4 Kiko :
> El 4 de marzo de 2010 16:27, Olemis Lang (Simelix) 
> escribió:
>> 2010/3/4 Arnau Sanchez :
>> > On 04/03/10 14:02, Pablo Angulo wrote:
>> >
>
[...]
>
> tiempo de la tercera opción: 0.046313354
> indices2 = [bisect.bisect(conjunto, i) for i in subconjunto]
> Los primero 25 valores de indices2 = [1, 4, 7, 10, 13, 16, 19, 22, 25, 28,
> 31, 34, 37, 40, 43, 46, 49, 52, 55, 58, 61, 64, 67, 70, 73]
>

Evidentemente hay que ajustar este ;o)

-- 
Regards,

Olemis.

Blog ES: http://simelo-es.blogspot.com/
Blog EN: http://simelo-en.blogspot.com/

Featured article:
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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

2010-03-04 Por tema Kiko
El 4 de marzo de 2010 16:27, Olemis Lang (Simelix)

> escribió:

> 2010/3/4 Arnau Sanchez :
> > On 04/03/10 14:02, Pablo Angulo wrote:
> >
> >> indices = []
> >> ultimo = 0
> >> for v in subconjunto:
> >> ultimo += conjunto.index(v,ultimo)
> >> indices.append(ultimo)
> >
> > Creo que el += sobra, list.index() devuelve el índice absoluto:
> >
> >  ultimo = conjunto.index(v, ultimo)
> >
> > Y si no me equivoco el índice podría ser ultimo+1. Con tu propuesta, y
> > usando generadores queda realmente simple:
> >
> >  ultimo = -1
> >  for v in subconjunto:
> >  ultimo = conjunto.index(v, ultimo+1)
> >  yield ultimo
>
> 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 digamos, pero
> no tengo los detalles en la mano ...) . E.g. si fuera O(n), O(log(n))
> ... en el peor caso entonces todos los análisis anteriores no serían
> del todo precisos (CMIIW)
>
> PD: JFYI, la implementación que envié anteriormente no sufre de este
> potencial problema (de todas formas sería bueno saber si `index` es
> O(1) o no ;o)
>
> --
> Regards,
>
> Olemis
>

Después de leeros a todos (muchas gracias, Juan Ignacio, Daniel, Pablo,
Olemis y Arnau)  he hecho unas pruebas para un caso que se acerca a lo que
necesito:

from datetime import datetime, timedelta
import bisect
import time

def generador(start, end, intervalo):
fechas = []
while start <= end:
fechas.append(start)
start += timedelta(minutes=intervalo)
return [valores for valores in fechas]

start = datetime(1900,1,1,0,0)
end = datetime(1901,1,1,0,0)

conjunto = generador(start, end, 10)
subconjunto = generador (start, end, 30)


t0 = time.time()
indices = []
ultimo = -1
for i in subconjunto:
ultimo = conjunto.index(i, ultimo+1)
indices.append(ultimo)
#yield ultimo
print time.time() - t0
print indices[0:25]

t0 = time.time()
indices1 = [conjunto.index(i) for i in subconjunto]
print time.time() - t0
print indices1[0:25]

t0 = time.time()
indices2 = [bisect.bisect(conjunto, i) for i in subconjunto]
print time.time() - t0
print indices2[0:25]

El yield me da error tal como lo he puesto ¿?.

Las salidas que obtengo son:

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]

tiempo de mi opción, la original: 41.2180001736
indices1 = [conjunto.index(i) for i in subconjunto]
Los primero 25 valores de indices1 = [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]

tiempo de la tercera opción: 0.046313354
indices2 = [bisect.bisect(conjunto, i) for i in subconjunto]
Los primero 25 valores de indices2 = [1, 4, 7, 10, 13, 16, 19, 22, 25, 28,
31, 34, 37, 40, 43, 46, 49, 52, 55, 58, 61, 64, 67, 70, 73]

Menos mal que he preguntado a los expertos.

Muchas gracias por las mejoras. Tanto la primera opción como la tercera son
infinitamente mejores que la mía y aceptables en tiempo usado.
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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

2010-03-04 Por tema Olemis Lang (Simelix)
2010/3/4 Arnau Sanchez :
> On 04/03/10 14:02, Pablo Angulo wrote:
>
>> indices = []
>> ultimo = 0
>> for v in subconjunto:
>>     ultimo += conjunto.index(v,ultimo)
>>     indices.append(ultimo)
>
> Creo que el += sobra, list.index() devuelve el índice absoluto:
>
>  ultimo = conjunto.index(v, ultimo)
>
> Y si no me equivoco el índice podría ser ultimo+1. Con tu propuesta, y
> usando generadores queda realmente simple:
>
>  ultimo = -1
>  for v in subconjunto:
>      ultimo = conjunto.index(v, ultimo+1)
>      yield ultimo

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 digamos, pero
no tengo los detalles en la mano ...) . E.g. si fuera O(n), O(log(n))
... en el peor caso entonces todos los análisis anteriores no serían
del todo precisos (CMIIW)

PD: JFYI, la implementación que envié anteriormente no sufre de este
potencial problema (de todas formas sería bueno saber si `index` es
O(1) o no ;o)

-- 
Regards,

Olemis.

Blog ES: http://simelo-es.blogspot.com/
Blog EN: http://simelo-en.blogspot.com/

Featured article:
Robots activos para Google Wave: introducción a la versión 2 de la API
- 
http://feedproxy.google.com/~r/simelo-es/~3/ltPGNuqYzOM/google-wave-developer-blog-introducing.html
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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

2010-03-04 Por tema Arnau Sanchez

On 04/03/10 14:02, Pablo Angulo wrote:


indices = []
ultimo = 0
for v in subconjunto:
 ultimo += conjunto.index(v,ultimo)
 indices.append(ultimo)


Creo que el += sobra, list.index() devuelve el índice absoluto:

  ultimo = conjunto.index(v, ultimo)

Y si no me equivoco el índice podría ser ultimo+1. Con tu propuesta, y usando 
generadores queda realmente simple:


  ultimo = -1
  for v in subconjunto:
  ultimo = conjunto.index(v, ultimo+1)
  yield ultimo
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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

2010-03-04 Por tema Olemis Lang (Simelix)
2010/3/4 Olemis Lang (Simelix) :
> 2010/3/4 Pablo Angulo :
>> Daniel Garcia Moreno escribió:
>
[...]
> se puede lograr más aún si se sabe que una lista es un
> subelemento de la otra

Precisión: subconjunto

-- 
Regards,

Olemis.

Blog ES: http://simelo-es.blogspot.com/
Blog EN: http://simelo-en.blogspot.com/

Featured article:
Comienza la era de la televisión 3D (el 10 de marzo ;o) -
http://feedproxy.google.com/~r/simelo-es/~3/mPcmLbduWJU/despues-del-gran-exito-del-largometraje.html
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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

2010-03-04 Por tema Olemis Lang (Simelix)
2010/3/4 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.
> Yo diría que ésto es también es O(M log(N)) en el peor caso (cuando el
> subconjunto son los M primeros valores de conjunto)
>
> log(N)+log(N-1)+...+log(N-M)=O(M log(N))

Por las características del problema y del contexto (dos listas
ordenadas ;o) me parece que lo más adecuado en este caso es un
algoritmo de mezcla como MergeSort [1]_ [2]_ que AFAICR debe ser O(n
log(n)) siendo n = min(N, M) en el peor caso, pero O(n) si están
ordenados (para más detalles consulten los enlaces ;o). Realmente en
este caso ni siquiera hace falta el mergesort completo, solo la
función de mezcla y simplificada , lo cual resultaría más eficiente
todavía, se puede lograr más aún si se sabe que una lista es un
subelemento de la otra -pero todas esas quedan de tarea para el OP-
;o)

{{{
#!python

>>> conjunto = range(1000, 1100, 1)
>>> subconjunto = range(1000, 1100, 3)
>>> from itertools import count
>>> def setidx(sub, full):   # a.k.a merge()
... idxs = count()
... while sub and full :
... if sub[0] == full[0] :
... yield idxs.next()
... full.pop(0); sub.pop(0)
... elif sub[0] < full[0] :
... sub.pop(0)
... else :
... full.pop(0)
... idxs.next()
...
>>> list(setidx(subconjunto, conjunto))
[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, 75, 78, 81, 84, 87, 90, 93, 96, 99]
}}}

Uso de memoria adicional ~= 0

.. [1] MergeSort
 (http://en.wikipedia.org/wiki/Mergesort)

.. [2] Ordenamiento por mezcla
 (http://es.wikipedia.org/wiki/Ordenamiento_por_mezcla)

PD: De todas formas mi sugerencia muy particular es que no confíen
demasiado en los análisis teóricos del tipo mencionado por Pablo (o
mejor dicho, que desconfíen hasta que no tengan la seguridad
irrefutable que les da un profiler ;o) . Este hilo me ha recordado un
artículo que tengo pendiente para mi blog que ilustra esto muy bien (y
que resulta realmente sorprendente, créanme ;o). Trataré de publicarlo
mañana (o pasado, o ...), y así tendrán más argumentos para juzgar
ustedes por su cuenta

Y para terminar, los algs de mezcla tienden a ser más fácilmente
paralelizables y trabajan mejor con medios secuenciales, por lo que si
la cantidad de datos es *REALMENTE* grande entonces pueden resultar
bastante atractivos , pues tienden además a tener la virtud de ser
estables ... bueno y si de algo sirve, pues, no contaminan el medio
ambiente, ¿ vale ? :P )

;o)

-- 
Regards,

Olemis.

Blog ES: http://simelo-es.blogspot.com/
Blog EN: http://simelo-en.blogspot.com/

Featured article:
Comienza la era de la televisión 3D (el 10 de marzo ;o) -
http://feedproxy.google.com/~r/simelo-es/~3/mPcmLbduWJU/despues-del-gran-exito-del-largometraje.html
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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.
Yo diría que ésto es también es O(M log(N)) en el peor caso (cuando el
subconjunto son los M primeros valores de conjunto)

log(N)+log(N-1)+...+log(N-M)=O(M log(N))
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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 = []
ultimo = 0
for v in subconjunto:
ultimo += conjunto.index(v,ultimo)
indices.append(ultimo)

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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

2010-03-04 Por tema Daniel Garcia Moreno
2010/3/4 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 optimizar más por
>> ahí, porque la complejidad del problema es esa.
>>
> 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.
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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 optimizar más por
> ahí, porque la complejidad del problema es esa.
>   
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.
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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, sino sólo desde
la última búsqueda

indices = []
ultimo = 0
for v in subconjunto:
ultimo += conjunto[ultimo:].index(v)
indices.append(ultimo)


___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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)
>
> Quiero saber la posición que tendría cada valor del subconjunto en el
> conjunto, es decir, subconjunto[0] tendría el índice 0 en conjunto
> (conjunto[0])), subconjunto[1] tendría el índice 3 en conjunto
> (conjunto[3])) y así.
>
> Estoy obteniendo los índices así
> indices = [conjunto.index(valor) for valor in subconjunto]
>
> Pero si conjunto y subconjunto son muy grandes se toma su tiempo.
>
> ¿Existe una forma más eficiente de obtener los índices?
si sabes que los elementos del subconjunto están ordenados dentro del
conjunto, no necesitas buscar en toda la lista cada vez, sino sólo desde
la última búsqueda

indices = []
ultimo = 0
for v in subconjunto:
ultimo += conjunto[ultimo:].index(v)
indices.append(ultimo)

[conjunto[j] for j in indices]==subconjunto
> True

También te puede interesar usar conjuntos, si no necesitas el orden de
los elementos.

Un saludo
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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

2010-03-04 Por tema Daniel Garcia Moreno
2010/3/4 Kiko :
>
> El 4 de marzo de 2010 13:18, Juan Ignacio  escribió:
>>
>> Oppps, me falto la interrogante, era una pregunta :-) ¿Conjunto y
>> subconjunto están (o pueden estar) ordenados?
>
> Están ordenados para lo que quiero hacer.
>

Pues entonces puedes usar bisect en lugar de index:

import bisect

indices = [bisect.bisect(conjunto, valor) for valor in subconjunto]
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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

2010-03-04 Por tema Daniel Garcia Moreno
2010/3/4 Kiko :
> 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)
>
> Quiero saber la posición que tendría cada valor del subconjunto en el
> conjunto, es decir, subconjunto[0] tendría el índice 0 en conjunto
> (conjunto[0])), subconjunto[1] tendría el índice 3 en conjunto
> (conjunto[3])) y así.
>
> Estoy obteniendo los índices así
> indices = [conjunto.index(valor) for valor in subconjunto]
>
> Pero si conjunto y subconjunto son muy grandes se toma su tiempo.
>
> ¿Existe una forma más eficiente de obtener los índices?
>
> Muchas gracias a todos.
>

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 optimizar más por
ahí, porque la complejidad del problema es esa.
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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

2010-03-04 Por tema Kiko
El 4 de marzo de 2010 13:18, Juan Ignacio  escribió:

> Oppps, me falto la interrogante, era una pregunta :-) ¿Conjunto y
> subconjunto están (o pueden estar) ordenados?
> ___
> Python-es mailing list
> Python-es@python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>

Están ordenados para lo que quiero hacer.
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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

2010-03-04 Por tema Juan Ignacio
Oppps, me falto la interrogante, era una pregunta :-) ¿Conjunto y
subconjunto están (o pueden estar) ordenados?
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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

2010-03-04 Por tema Juan Ignacio
Conjunto y subconjunto están (o pueden estar) ordenados

2010/3/4 Kiko :
> 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)
>
> Quiero saber la posición que tendría cada valor del subconjunto en el
> conjunto, es decir, subconjunto[0] tendría el índice 0 en conjunto
> (conjunto[0])), subconjunto[1] tendría el índice 3 en conjunto
> (conjunto[3])) y así.
>
> Estoy obteniendo los índices así
> indices = [conjunto.index(valor) for valor in subconjunto]
>
> Pero si conjunto y subconjunto son muy grandes se toma su tiempo.
>
> ¿Existe una forma más eficiente de obtener los índices?
>
> Muchas gracias a todos.
>
>
>
> ___
> Python-es mailing list
> Python-es@python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>



-- 
Juan Ignacio Rodríguez de León
Movil: 605 890514
E-Mail: euriba...@gmail.com
http://elornitorrincoenmascarado.blogspot.com/
http://descon2.com/
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] Buscar índices de un array (que cu mple condición) de forma eficiente

2010-03-04 Por tema Kiko
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)

Quiero saber la posición que tendría cada valor del subconjunto en el
conjunto, es decir, subconjunto[0] tendría el índice 0 en conjunto
(conjunto[0])), subconjunto[1] tendría el índice 3 en conjunto
(conjunto[3])) y así.

Estoy obteniendo los índices así
indices = [conjunto.index(valor) for valor in subconjunto]

Pero si conjunto y subconjunto son muy grandes se toma su tiempo.

¿Existe una forma más eficiente de obtener los índices?

Muchas gracias a todos.
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Resumen de Python-es, Vol 3, Env ío 5

2010-03-04 Por tema Jordi Funollet
+1 a desactivar la opción.

La misma funcionalidad puede conseguirse con un filtro en el cliente de 
correo.
-- 
##
### Jordi Funollet
### http://www.terraquis.net
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Resumen de Python-es, Vol 3, Envío 5

2010-03-04 Por tema José Luis Torre Hernández
El 3 de marzo de 2010 20:21, d1d4c  escribió:

> Hola.
>
> Arnau Sanchez escribió:
> .../
>
>  No tengo experiencia con el modo digest pero imagino que habrá alguna
>> forma de responder manteniendo el hilo (lo que incluye el asunto, pero
>> también headers como el In-Reply-To).
>>
>
> El modo digest sólo puede servirle (si es que puede llegar a servir de
> algo) a quien no pretenda escribir, sólo leer.
>
> En mi opinión, quien se suscribe a una lista y selecciona el modo digest,
> es simplemente porque cae en la trampa. Deberíamos editar el texto html de
> esa página y explicar eso, que con ese modo no se puede participar, sólo
> leer.
>
> Porque para poder poner el header y el In-Reply-To correspondientes, antes
> has de saber cuáles son, y eso no sale ni en el digest ni en ninguno de los
> archivos web, que yo sepa.
>
> En mi opinión, esa opción se debería quitar de mailman 'in secula
> seculorum'. No entiendo qué hace todavía allí.
>
> Como le dije ya en un privado (también), en mi opinión, lo mejor que
> Andreina puede hacer respecto a este tema, es ir a sus preferencias de
> suscripción y cambiar eso. No hay más, cayó en la trampa del modo digest.
>
>
> Saludos.
>
> ___
> Python-es mailing list
> Python-es@python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>


+1 A favor de eliminar el modo digest.

Saludos
jlt
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] [web] python-es.org

2010-03-04 Por tema Kiko
Yo no me había pronunciado aún pero si puedo ayudar en algo me lo decís.

Antecedentes:
Novato en python
Novato en numpy
Novato en MatPlotLib
Novato en wxpython
No he tocado Django en mi vida pero tengo intención.
Sé traer cafés a quien haga falta ;-P
Tengo muchas ganas de aprender de todo.

Saludos.
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] MODO DIGEST (era: Re: Resumen de Pyth on-es, Vol 3, Envío 5)

2010-03-04 Por tema Francisco Javier Cuadrado
El día 4 de marzo de 2010 10:00, d1d4c  escribió:
> Francisco Javier Cuadrado escribió:
>>
>> El día 4 de marzo de 2010 09:05, Francesc Alted 
>> escribió:
>
> .../
>>>
>>> Bueno, de decir que sólo sirve para leer a que no tiene sentido, hay un
>>> trecho.  Yo prefiero que se le diga a la gente de manera cordial (com en
>>> el
>>> caso anterior) que mejor subscribirse en modo 'normal'.
>>
>> Estoy con Francesc.
>>
>> Además yo creo que el modo digest se puede usar bien, si cuando vas a
>> contestar al correo, te bajas el hilo antes y contestas a
>> continuación.
>
> Sólo por curiosidad ¿cómo es eso de bajarte el hilo? ¿cómo se puede hacer?
> ahora no lo veo... :/
>

La verdad es que yo tampoco, se me ha olvidado decir que ese uso lo sé
de oídas, yo nunca he usado el digest, pero siempre he tenido
entendido que ese era el uso que se debía hacer.

He buscado un poco y he encontrado esto[1], citando:

IX. For the same reasons, when you get the list in digest form, edit
the subject line of the list you are replying to into your subject.
"re: Digest Night of January 16th" isn't very specific. Or use a mail
reader that will "burst" digests into their component emails for you,
like Emacs's rmail mode.

Some lists make their digests available in MIME form. MIME format
allows you to get the subject and threading right.


> Gracias, estoy intrigado :)

Espero que te sirva.

> ___
> Python-es mailing list
> Python-es@python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>

[1] http://www.charlescurley.com/netiquette.html

-- 
Saludos

Fran
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Duda con expresiones regulares

2010-03-04 Por tema José Jorge Lorenzo Vila

On 03/04/2010 04:05 AM, Juan Ignacio wrote:

On 03/04/2010 03:53 AM, Francisco Javier Cuadrado wrote:
mayúsculas seguidas por minusculas y esto se puede repetir solamente dos
 

Creo que seria "dos o más veces", no "solamente dos".
   

Toda la razón, verificado en el sitio y en la documentación de python.
Decididamente no se me dan bien, hay que ponerlo en mi TODO.
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Duda con expresiones regulares

2010-03-04 Por tema Francisco Javier Cuadrado
2010/3/4 Juan Ignacio :
>> On 03/04/2010 03:53 AM, Francisco Javier Cuadrado wrote:
>> mayúsculas seguidas por minusculas y esto se puede repetir solamente dos
>
> Creo que seria "dos o más veces", no "solamente dos".

Cierto, hoy estoy espeso.

> --
> Juan Ignacio Rodríguez de León
> Movil: 605 890514
> E-Mail: euriba...@gmail.com
> http://elornitorrincoenmascarado.blogspot.com/
> http://descon2.com/
> ___
> Python-es mailing list
> Python-es@python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>



-- 
Saludos

Fran
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Duda con expresiones regulares

2010-03-04 Por tema José Jorge Lorenzo Vila

On 03/04/2010 04:05 AM, Francisco Javier Cuadrado wrote:

El día 4 de marzo de 2010 09:59, José Jorge Lorenzo Vila
  escribió:
   

On 03/04/2010 03:53 AM, Francisco Javier Cuadrado wrote:
 

El día 4 de marzo de 2010 09:43, José Jorge Lorenzo Vila
escribió:

   

Hola lista,

 

Hola.


   

Siguiendo las indicaciones he instalado django-wikiapp,
La duda es que tengo problemas con las expresiones regulares y el
problema
radica en que por omisión, el título de los artículos en la wiki se
valida
contra la siguiente expresión regular.
Alguien me podría decir que patrón es el que se está definiendo aquí?
Me imagino que no debería ser tan restrictivo, pero por alguna razón no
me
machea nada.

WIKI_WORD_RE = r'(?:[A-Z]+[a-z]+){2,}'
wikiword_pattern = re.compile('^' + WIKI_WORD_RE + '$')


 

No estoy muy seguro, nunca se me han dado demasiado bien, pero mirando
la página de la wikipedia sobre expresiones regulares[1], creo que es
una palabra que debe empezar con una mayúscula, seguida de cero o más
mayúsculas, a la que debe seguir una letra minúscula, seguida de cero
o más minúsculas, y la palabra debe tener como mínimo una longitud de
dos letras.

Como te digo no estoy seguro, que alguien lo confirme o me corrija.


   

Gracias

 

[1] http://es.wikipedia.org/wiki/Expresiones_regulares


   

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


 



   

Bueno, me había dado casi por vencido, pero viendo lo que me recomendabas,
me animé otra vez.
Resulta que
JoseJorge machea,
Jose  no
JoseJno
JoseJorgeLono

Por lo que me parece estar viendo el patrón siguiente: Tiene que haber
mayúsculas seguidas por minusculas y esto se puede repetir solamente dos
veces.

 

Sí, es lo que comentas, porque me he equivocado al decir que como
mínimo tenía que tener dos caracteres de longitud, ya que las llaves
(que indican la longitud) se aplican al bloque de letras mayúsculas
seguidas de minúsculas, por lo que sería una palabra formada de letras
mayúsculas (1 a n) seguidas de minúsculas (1 a n) y este conjunto de
letras se debe repetir dos veces, es decir algo así: MmMm (siendo M
letras mayúsculas y m letras minúsculas).

   

saludos y muchas gracias
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

 



   
Exactamente, muchas gracias. Ahora solo me queda quitarle los {} porque 
me parece muy restrictivo.

Muchas gracias lista y en especial Francisco.
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] MODO DIGEST (era: Re: Resumen de Python-es, Vol 3, Envío 5)

2010-03-04 Por tema d1d4c

Francisco Javier Cuadrado escribió:

El día 4 de marzo de 2010 09:05, Francesc Alted  escribió:

.../

Bueno, de decir que sólo sirve para leer a que no tiene sentido, hay un
trecho.  Yo prefiero que se le diga a la gente de manera cordial (com en el
caso anterior) que mejor subscribirse en modo 'normal'.


Estoy con Francesc.

Además yo creo que el modo digest se puede usar bien, si cuando vas a
contestar al correo, te bajas el hilo antes y contestas a
continuación.


Sólo por curiosidad ¿cómo es eso de bajarte el hilo? ¿cómo se puede 
hacer? ahora no lo veo... :/


Gracias, estoy intrigado :)
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Duda con expresiones regulares

2010-03-04 Por tema Juan Ignacio
> On 03/04/2010 03:53 AM, Francisco Javier Cuadrado wrote:
> mayúsculas seguidas por minusculas y esto se puede repetir solamente dos

Creo que seria "dos o más veces", no "solamente dos".
-- 
Juan Ignacio Rodríguez de León
Movil: 605 890514
E-Mail: euriba...@gmail.com
http://elornitorrincoenmascarado.blogspot.com/
http://descon2.com/
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Duda con expresiones regulares

2010-03-04 Por tema Francisco Javier Cuadrado
El día 4 de marzo de 2010 09:59, José Jorge Lorenzo Vila
 escribió:
> On 03/04/2010 03:53 AM, Francisco Javier Cuadrado wrote:
>>
>> El día 4 de marzo de 2010 09:43, José Jorge Lorenzo Vila
>>   escribió:
>>
>>>
>>> Hola lista,
>>>
>>
>> Hola.
>>
>>
>>>
>>> Siguiendo las indicaciones he instalado django-wikiapp,
>>> La duda es que tengo problemas con las expresiones regulares y el
>>> problema
>>> radica en que por omisión, el título de los artículos en la wiki se
>>> valida
>>> contra la siguiente expresión regular.
>>> Alguien me podría decir que patrón es el que se está definiendo aquí?
>>> Me imagino que no debería ser tan restrictivo, pero por alguna razón no
>>> me
>>> machea nada.
>>>
>>> WIKI_WORD_RE = r'(?:[A-Z]+[a-z]+){2,}'
>>> wikiword_pattern = re.compile('^' + WIKI_WORD_RE + '$')
>>>
>>>
>>
>> No estoy muy seguro, nunca se me han dado demasiado bien, pero mirando
>> la página de la wikipedia sobre expresiones regulares[1], creo que es
>> una palabra que debe empezar con una mayúscula, seguida de cero o más
>> mayúsculas, a la que debe seguir una letra minúscula, seguida de cero
>> o más minúsculas, y la palabra debe tener como mínimo una longitud de
>> dos letras.
>>
>> Como te digo no estoy seguro, que alguien lo confirme o me corrija.
>>
>>
>>>
>>> Gracias
>>>
>>
>> [1] http://es.wikipedia.org/wiki/Expresiones_regulares
>>
>>
>>>
>>> ___
>>> Python-es mailing list
>>> Python-es@python.org
>>> http://mail.python.org/mailman/listinfo/python-es
>>> FAQ: http://python-es-faq.wikidot.com/
>>>
>>>
>>
>>
>>
>
> Bueno, me había dado casi por vencido, pero viendo lo que me recomendabas,
> me animé otra vez.
> Resulta que
> JoseJorge         machea,
> Jose                      no
> JoseJ                    no
> JoseJorgeLo    no
>
> Por lo que me parece estar viendo el patrón siguiente: Tiene que haber
> mayúsculas seguidas por minusculas y esto se puede repetir solamente dos
> veces.
>

Sí, es lo que comentas, porque me he equivocado al decir que como
mínimo tenía que tener dos caracteres de longitud, ya que las llaves
(que indican la longitud) se aplican al bloque de letras mayúsculas
seguidas de minúsculas, por lo que sería una palabra formada de letras
mayúsculas (1 a n) seguidas de minúsculas (1 a n) y este conjunto de
letras se debe repetir dos veces, es decir algo así: MmMm (siendo M
letras mayúsculas y m letras minúsculas).

> saludos y muchas gracias
> ___
> Python-es mailing list
> Python-es@python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>



-- 
Saludos

Fran
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Duda con expresiones regulares

2010-03-04 Por tema José Jorge Lorenzo Vila

On 03/04/2010 03:53 AM, Francisco Javier Cuadrado wrote:

El día 4 de marzo de 2010 09:43, José Jorge Lorenzo Vila
  escribió:
   

Hola lista,
 

Hola.

   

Siguiendo las indicaciones he instalado django-wikiapp,
La duda es que tengo problemas con las expresiones regulares y el problema
radica en que por omisión, el título de los artículos en la wiki se valida
contra la siguiente expresión regular.
Alguien me podría decir que patrón es el que se está definiendo aquí?
Me imagino que no debería ser tan restrictivo, pero por alguna razón no me
machea nada.

WIKI_WORD_RE = r'(?:[A-Z]+[a-z]+){2,}'
wikiword_pattern = re.compile('^' + WIKI_WORD_RE + '$')

 

No estoy muy seguro, nunca se me han dado demasiado bien, pero mirando
la página de la wikipedia sobre expresiones regulares[1], creo que es
una palabra que debe empezar con una mayúscula, seguida de cero o más
mayúsculas, a la que debe seguir una letra minúscula, seguida de cero
o más minúsculas, y la palabra debe tener como mínimo una longitud de
dos letras.

Como te digo no estoy seguro, que alguien lo confirme o me corrija.

   

Gracias
 

[1] http://es.wikipedia.org/wiki/Expresiones_regulares

   

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

 



   
Bueno, me había dado casi por vencido, pero viendo lo que me 
recomendabas, me animé otra vez.

Resulta que
JoseJorge machea,
Jose  no
JoseJno
JoseJorgeLono

Por lo que me parece estar viendo el patrón siguiente: Tiene que haber 
mayúsculas seguidas por minusculas y esto se puede repetir solamente dos 
veces.


saludos y muchas gracias
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Duda con expresiones regulares

2010-03-04 Por tema Francisco Javier Cuadrado
El día 4 de marzo de 2010 09:43, José Jorge Lorenzo Vila
 escribió:
>
> Hola lista,

Hola.

> Siguiendo las indicaciones he instalado django-wikiapp,
> La duda es que tengo problemas con las expresiones regulares y el problema
> radica en que por omisión, el título de los artículos en la wiki se valida
> contra la siguiente expresión regular.
> Alguien me podría decir que patrón es el que se está definiendo aquí?
> Me imagino que no debería ser tan restrictivo, pero por alguna razón no me
> machea nada.
>
> WIKI_WORD_RE = r'(?:[A-Z]+[a-z]+){2,}'
> wikiword_pattern = re.compile('^' + WIKI_WORD_RE + '$')
>

No estoy muy seguro, nunca se me han dado demasiado bien, pero mirando
la página de la wikipedia sobre expresiones regulares[1], creo que es
una palabra que debe empezar con una mayúscula, seguida de cero o más
mayúsculas, a la que debe seguir una letra minúscula, seguida de cero
o más minúsculas, y la palabra debe tener como mínimo una longitud de
dos letras.

Como te digo no estoy seguro, que alguien lo confirme o me corrija.

> Gracias

[1] http://es.wikipedia.org/wiki/Expresiones_regulares

> ___
> Python-es mailing list
> Python-es@python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>



-- 
Saludos

Fran
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] Duda con expresiones regulares

2010-03-04 Por tema José Jorge Lorenzo Vila


Hola lista,
Siguiendo las indicaciones he instalado django-wikiapp,
La duda es que tengo problemas con las expresiones regulares y el 
problema radica en que por omisión, el título de los artículos en la 
wiki se valida contra la siguiente expresión regular.

Alguien me podría decir que patrón es el que se está definiendo aquí?
Me imagino que no debería ser tan restrictivo, pero por alguna razón no 
me machea nada.


WIKI_WORD_RE = r'(?:[A-Z]+[a-z]+){2,}'
wikiword_pattern = re.compile('^' + WIKI_WORD_RE + '$')

Gracias
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] MODO DIGEST (era: Re: Resumen de Pyth on-es, Vol 3, Envío 5)

2010-03-04 Por tema Francisco Javier Cuadrado
El día 4 de marzo de 2010 09:05, Francesc Alted  escribió:
> A Thursday 04 March 2010 05:21:48 Jesus Cea escrigué:
>> On 03/03/2010 08:21 PM, d1d4c wrote:
>> > El modo digest sólo puede servirle (si es que puede llegar a servir de
>> > algo) a quien no pretenda escribir, sólo leer.
>>
>> El modo digest, hoy en día, no tiene sentido. Recomiendo a los admins de
>> la lista que desactiven esa opción.
>
> Bueno, de decir que sólo sirve para leer a que no tiene sentido, hay un
> trecho.  Yo prefiero que se le diga a la gente de manera cordial (com en el
> caso anterior) que mejor subscribirse en modo 'normal'.
>

Estoy con Francesc.

Además yo creo que el modo digest se puede usar bien, si cuando vas a
contestar al correo, te bajas el hilo antes y contestas a
continuación.

> Saludos,
>
> --
> Francesc Alted
> ___
> Python-es mailing list
> Python-es@python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>



-- 
Saludos

Fran
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] MODO DIGEST (era: Re: Resumen d e Python-es, Vol 3, Envío 5)

2010-03-04 Por tema Francesc Alted
A Thursday 04 March 2010 05:21:48 Jesus Cea escrigué:
> On 03/03/2010 08:21 PM, d1d4c wrote:
> > El modo digest sólo puede servirle (si es que puede llegar a servir de
> > algo) a quien no pretenda escribir, sólo leer.
> 
> El modo digest, hoy en día, no tiene sentido. Recomiendo a los admins de
> la lista que desactiven esa opción.

Bueno, de decir que sólo sirve para leer a que no tiene sentido, hay un 
trecho.  Yo prefiero que se le diga a la gente de manera cordial (com en el 
caso anterior) que mejor subscribirse en modo 'normal'.

Saludos,

-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/