Article View: es.comp.os.linux.programacion
Article #7572Re: Problema con clases Python
From: José Antonio Calvo
Date: Sun, 16 Feb 2003 12:50
Date: Sun, 16 Feb 2003 12:50
27 lines
2017 bytes
2017 bytes
>>>>> "Jaime" == Jaime Suarez <jsuarez@ono.com> writes:
Jaime> El c�digo de debajo, simplificado al m�ximo deber�a sumar
Jaime> dos polinomios. Sin embargo el resultado al ejecutarlo es:
Jaime> a= [[1, 2]] a+a= [[1, 4]] a= [[1, 4]]
Jaime> �Por qu� "a" se modifica?
Pues se modifica porque las listas se pasan por referencia, en
realidad, todo menos los tipos b�sicos se pasan por referencia.
La soluci�n:
from copy import deepcopy
y self.p=deepcopy(lista) en vez del self.p=lista del constructor
deepcopy lo copia todo recursivamente, tambi�n tienes shallowcopy que
copiar�a s�lo la lista, pero mantendr�a referencias a sus contenidos
Un saludo.
--
Jos� Antonio Calvo <josh@escomposlinux.org>
Linux Registered User #194638
Powered by Debian GNU/Linux sid
Technical Details
Message-ID:
<87ptps5qza.fsf@monegrux.micasa>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!nntp.cs.ubc.ca!nntp-relay.ihug.net!ihug.co.nz!west.cox.net!cox.net!news-hub.cableinet.net!blueyonder!marmolejo.escomposlinux.org!antonio.escomposlinux.org!monegrux.micasa!newsReferences:
<slrnb4ttfr.2p0.jsuarez@cachonero.org>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,2c7eac70b8de8722 X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2003-02-16 04:51:13 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!nntp.cs.ubc.ca!nntp-relay.ihug.net!ihug.co.nz!west.cox.net!cox.net!news-hub.cableinet.net!blueyonder!marmolejo.escomposlinux.org!antonio.escomposlinux.org!monegrux.micasa!news From: josh@escomposlinux.org (José Antonio Calvo) Newsgroups: es.comp.os.linux.programacion Subject: Re: Problema con clases Python Date: Sun, 16 Feb 2003 13:50:49 +0100 Organization: Ecolnet Lines: 27 Message-ID: <87ptps5qza.fsf@monegrux.micasa> References: <slrnb4ttfr.2p0.jsuarez@cachonero.org> NNTP-Posting-Host: 193-153-251-155.uc.nombres.ttd.es Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: antonio.escomposlinux.org 1045399870 22888 193.153.251.155 (16 Feb 2003 12:51:10 GMT) X-Complaints-To: antonio@escomposlinux.org NNTP-Posting-Date: Sun, 16 Feb 2003 12:51:10 +0000 (UTC) User-Agent: Gnus/5.090015 (Oort Gnus v0.15) Emacs/21.2 Cancel-Lock: sha1:wOhYIJ9g2ZSl9Zsii0ChaLtbB2Y=