[pyar] ¿Volvemos a empezar?
Fernando Pelliccioni
fpelliccioni en gmail.com
Mie Abr 30 19:30:38 ART 2014
2014-04-30 19:27 GMT-03:00 Roberto Alsina <ralsina en netmanagers.com.ar>:
> On 30/04/14 19:23, Fernando Pelliccioni wrote:
>
>
> 2014-04-30 19:16 GMT-03:00 Pablo Gabriel Celayes <pablocelayes en gmail.com>:
>
>> El slice crea una lista nueva. De hecho, un atajo común para crear una
>> copia es hacer un slice sin parámetros:
>>
>
> Perdón, pero, no se por qué hay algo que me hace dudar ...
> Seguro que crea una lista nueva? (no se adelanten, ver abajo)...
> Hay una tecnica que se llama Copy-On-Write (COW) ... (seguir leyendo)
>
>
>>
>> In [1]: a = range(10)
>>
>> In [2]: b = a[:]
>>
>
> Hasta este punto, es probable que b no sea una lista nueva (copiada de
> a), ya que a = b.
>
>
> Ahi, ya es una copia. Python no hace copy-on-write de listas.
>
>
Gracias!
>
>
>
>>
>> In [3]: b[0] = 20
>>
>
>
> Como aca estoy modificando b, recien aca hago la copia ( Copy on Write )
> Ahora si son listas distintas, dos pedazos de memoria diferentes.
>
>
> Ya lo eran un paso antes. Un detalle tal vez interesante es que las listas
> son distintas pero los elementos son los mismos:
>
> >>> id(a), id(b)
> (140266986366848, 140266985952624)
>
> >>> id(a[0]), id(b[0])
> (10455008, 10455008)
>
Ah ah ah !!!
Entonces hace shallow copy.
>
>
>
> Es una optimizacion usada en algunos lenguajes, pero desaconsejada en
> ciertos escenarios.
> Me pregunto si Python tambien la estará utilizando en casos como este.
>
> No.
>
Gracias por la aclaración. Habiendo aprendido esto, puedo volver al
algoritmo de palindromos !
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140430/ebbcbe89/attachment.html>
More information about the pyar
mailing list