[pyar] ¿Volvemos a empezar?
Roberto Alsina
ralsina en netmanagers.com.ar
Mie Abr 30 19:45:54 ART 2014
On 30/04/14 19:42, Fernando Pelliccioni wrote:
>
>
>
> 2014-04-30 19:31 GMT-03:00 Facundo Batista <facundobatista en gmail.com
> <mailto:facundobatista en gmail.com>>:
>
> 2014-04-30 19:02 GMT-03:00 Fernando Pelliccioni
> <fpelliccioni en gmail.com <mailto:fpelliccioni en gmail.com>>:
>
> > Leyendo la documentación, no me queda claro si el slice implica
> "recrear" el
> > fragmento de la secuencia en otro pedazo de memoria o solo es
> una forma de
> > iterar la secuencia original.
>
> El slice es una notación sintáctica, lo que está haciendo realmente es
> decirle al objeto que devuelva determinadas cosas. Es responsabilidad
> del objeto decidir qué devuelve.
>
> Todos los tipos de datos builtin de Python devuelven (cuando son
> "suscribibles"), otro objeto de ese mismo tipo [0], con las
> referencias a los objetos originales.
>
> Vemos como una tupla te devuelve una tupla, y una lista te devuelve
> una lista, por ejemplo:
>
> >>> (1, 2, 3)[:1]
> (1,)
> >>> a = [1, 2, "foo", [6, 7]]
> >>> b
> ['foo', [6, 7]]
>
> Y vemos que los objetos *dentro* de esos objetos son los mismos:
>
> >>> b[1] is a[3]
> True
>
> Un ejemplo de algo no subscribible:
>
> >>> 3[:]
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> TypeError: 'int' object is not subscriptable
>
>
>
> > ¿Existe en Python alguna forma de verificar si algun elemento
> esta siendo
> > copiado?
> > Lo pregunto, para poder verificar mi duda.
>
> Poder ves si dos objetos son el mismo, comparando identidad, como
> hice arriba.
>
> Slds.
>
>
> [0] Hay excepciones. Puntualmente me sorprendió esto:
>
> >>> a = "supercalifragilísticoespialidoso"
> >>> b = a[:]
> >>> a is b
> True
>
>
> Interesante... entonces, no es garantizado que haga copia, ni siquiera
> shallow.
> Agrego
>
> >>> a[0] = 'S'
> TypeError: 'str' object does not support item assignment
>
>
> Seguro me estoy equivocando en algo. Como hago para reemplazar un
> caracter del string por otro? (ya conozco el indice)
>
Los strings son inmutables. Tenés que crear un string nuevo.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140430/aebf37d0/attachment.html>
More information about the pyar
mailing list