[pyar] Sobre Mutable / Immutable
gmail
michael.ibarra en gmail.com
Mie Sep 1 16:16:49 ART 2010
On Wednesday, September 01, 2010 02:07:04 pm Sebastian Bassi wrote:
> On Wed, Sep 1, 2010 at 3:14 PM, Gustavo Campanelli <gedece en gmail.com> wrote:
> > Interesante caso, parece ser que al invocar el método append se hace
> > referencia al objeto original, en cambio al concatenar no, lo que
> > obliga a retornar el valor para que funcione.
>
> Es que append es una operación que haces sobre la lista. En cambio
> concatenar devuelve un nuevo objeto (el producto de la concatenación). Si
> queres concatenar sobre la lista directamente tenes que usar extend.
Aqui un ejemplo con el seguimiento:
def list_again(foo):
print id(foo)
foo.append("bar")
print id(foo)
def list_again_again(foo):
print id(foo)
foo = foo + ["1"]
print id(foo)
print foo
if __name__ == "__main__":
bar = []
print id(bar)
list_again(bar)
print id(bar)
print bar
list_again_again(bar)
print id(bar)
>
> In [17]: a=['bar']
>
> In [18]: a.extend(['1'])
>
> In [19]: a
> Out[19]: ['bar', '1']
--
--
Michael Ibarra
51-1-995070639
http://bitclux.blogspot.com/
More information about the pyar
mailing list