estoy jugando un poco con las listas por comprensión y me encontré con este pequeño fragmento en otro sitio:¿Qué significan acentos abiertos al intérprete de Python: `num`
return ''.join([`num` for num in xrange(loop_count)])
pasé unos minutos tratando de replicar el función (escribiendo) antes de realizar el bit `num`
estaba rompiéndolo.
¿Qué significa encerrar una declaración en esos caracteres? Por lo que puedo ver es el equivalente de str (num). Pero cuando lo cronometré:
return ''.join([str(num) for num in xrange(10000000)])
Se necesita 4.09s Considerando lo siguiente:
return ''.join([`num` for num in xrange(10000000)])
toma 2.43s.
Ambos dan resultados idénticos pero uno es mucho más lento. ¿Que esta pasando aqui?
EDIT: Por extraño ... repr()
da resultados ligeramente más lento que `num`
. 2.99s vs 2.43s. Usando Python 2.6 (aún no se ha probado 3.0).
Después de leer el "otro sitio" en http://skymind.com/~ocrow/python_string/, tuve una pregunta similar y encontré esta página. Buena pregunta y buena respuesta :) – netvope