[pyar] ¿Volvemos a empezar?
Roberto Alsina
ralsina en netmanagers.com.ar
Mie Abr 30 20:06:21 ART 2014
On 30/04/14 20:02, Hernan Grecco wrote:
> Hola,
>
> 2014-04-30 19:27 GMT-03:00 Roberto Alsina <ralsina en netmanagers.com.ar>:
>> On 30/04/14 19:23, Fernando Pelliccioni wrote:
>>> In [1]: a = range(10)
>>>
>>> In [2]: b = a[:]
>> 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)
> No es el ejemplo mas feliz ya que los numeros (como los strings), se
> comportan disintos a otros objetos:
>
>>>> x = 1
>>>> y = 1
>>>> id(x), id(y)
> (4298193656, 4298193656)
>
> Fijate que comparten el mismo id.
>
>>>> x = object()
>>>> y = object()
>>>> id(x), id(y)
> (4297814160, 4297814176)
>
> y aca no.
>
> Por eso no podes saber si una operacion (en este caso [:]) hace una
> copia o no del contenido usando una lista numeros.
Es cierto, pero en este caso es así ;-)
>>> a=list('cosa')
>>> a
['c', 'o', 's', 'a']
>>> b=a[:]
>>> a[0] is b[0]
True
E inclusive:
>>> a=[object() for x in range(10)]
>>> b=a[:]
>>> a[0] is b[0]
True
Pero tenés razón que el ejemplo no era el más feliz.
More information about the pyar
mailing list