<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Python: Cópia &quot;rasa&quot; de listas</title>
	<atom:link href="http://codare.net/2007/04/04/python-copia-rasa-de-listas/feed/" rel="self" type="application/rss+xml" />
	<link>http://codare.net/2007/04/04/python-copia-rasa-de-listas/</link>
	<description>Programadores, uni-vos!</description>
	<lastBuildDate>Wed, 16 May 2012 12:39:54 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Vinicius</title>
		<link>http://codare.net/2007/04/04/python-copia-rasa-de-listas/#comment-340</link>
		<dc:creator>Vinicius</dc:creator>
		<pubDate>Sat, 23 Aug 2008 01:27:32 +0000</pubDate>
		<guid isPermaLink="false">http://codare.net/2007/04/04/python-copia-rasa-de-listas/#comment-340</guid>
		<description>Opa, tudo bem?
Me tire essa dúvida se possível!
Se eu tenho a seguinte lista:
&gt;&gt;&gt;&gt; a = [[1,2,3], [4,5,6]]
&gt;&gt;&gt;&gt; b = a[:]
&gt;&gt;&gt;&gt; b[0][0] = 7
&gt;&gt;&gt;&gt; a
&gt;&gt;&gt;&gt; [[7,2,3], [4,5,6]]
&gt;&gt;&gt;&gt; b
&gt;&gt;&gt;&gt; [[7,2,3], [4,5,6]]

Não sei pq ta tratando como referencia, vc sabe o motivo??

E o mais louco, se na minha primeira alteração em b, for da forma:
&gt;&gt;&gt;&gt; b[0] = [7,2,3]
Não tem problema nenhum!

Se alguém estiver com esse problema, use
&gt;&gt;&gt;&gt; import copy
&gt;&gt;&gt;&gt; b = copy.deepcopy(a)

Valeu!
Até mais</description>
		<content:encoded><![CDATA[<p>Opa, tudo bem?<br />
Me tire essa dúvida se possível!<br />
Se eu tenho a seguinte lista:<br />
&gt;&gt;&gt;&gt; a = [[1,2,3], [4,5,6]]<br />
&gt;&gt;&gt;&gt; b = a[:]<br />
&gt;&gt;&gt;&gt; b[0][0] = 7<br />
&gt;&gt;&gt;&gt; a<br />
&gt;&gt;&gt;&gt; [[7,2,3], [4,5,6]]<br />
&gt;&gt;&gt;&gt; b<br />
&gt;&gt;&gt;&gt; [[7,2,3], [4,5,6]]</p>
<p>Não sei pq ta tratando como referencia, vc sabe o motivo??</p>
<p>E o mais louco, se na minha primeira alteração em b, for da forma:<br />
&gt;&gt;&gt;&gt; b[0] = [7,2,3]<br />
Não tem problema nenhum!</p>
<p>Se alguém estiver com esse problema, use<br />
&gt;&gt;&gt;&gt; import copy<br />
&gt;&gt;&gt;&gt; b = copy.deepcopy(a)</p>
<p>Valeu!<br />
Até mais</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Walter Cruz</title>
		<link>http://codare.net/2007/04/04/python-copia-rasa-de-listas/#comment-339</link>
		<dc:creator>Walter Cruz</dc:creator>
		<pubDate>Mon, 30 Apr 2007 20:57:36 +0000</pubDate>
		<guid isPermaLink="false">http://codare.net/2007/04/04/python-copia-rasa-de-listas/#comment-339</guid>
		<description>Ocorre uma abdução coletiva dos codarianos? Saudades das dicas!</description>
		<content:encoded><![CDATA[<p>Ocorre uma abdução coletiva dos codarianos? Saudades das dicas!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Osvaldo Santana Neto</title>
		<link>http://codare.net/2007/04/04/python-copia-rasa-de-listas/#comment-338</link>
		<dc:creator>Osvaldo Santana Neto</dc:creator>
		<pubDate>Sat, 14 Apr 2007 05:23:56 +0000</pubDate>
		<guid isPermaLink="false">http://codare.net/2007/04/04/python-copia-rasa-de-listas/#comment-338</guid>
		<description>Na verdade, o que eu disse está correto e o que o Luciano disse também está correto. São não estamos falando das mesmas coisas :)

Uma coisa é o conceito de mutabilidade de um objeto e outra é como nós referenciamos esse objeto.

Os objetos strings são imutáveis (assim como tuplas, números e mais alguns outros) e quando a gente faz uma concatenação de strings o que ocorre internamente é que uma nova string será criada com o resultado da concatenação e ela será referenciada pela mesma variável.

E o que acontecerá com a string antiga? Ela perde a referência da variável e, caso seja a última referência dela, ela será &quot;coletada&quot; pelo garbage colector. O mesmo ocorre com a string que foi usada para a concatenação.</description>
		<content:encoded><![CDATA[<p>Na verdade, o que eu disse está correto e o que o Luciano disse também está correto. São não estamos falando das mesmas coisas :)</p>
<p>Uma coisa é o conceito de mutabilidade de um objeto e outra é como nós referenciamos esse objeto.</p>
<p>Os objetos strings são imutáveis (assim como tuplas, números e mais alguns outros) e quando a gente faz uma concatenação de strings o que ocorre internamente é que uma nova string será criada com o resultado da concatenação e ela será referenciada pela mesma variável.</p>
<p>E o que acontecerá com a string antiga? Ela perde a referência da variável e, caso seja a última referência dela, ela será &#8220;coletada&#8221; pelo garbage colector. O mesmo ocorre com a string que foi usada para a concatenação.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cezeiro</title>
		<link>http://codare.net/2007/04/04/python-copia-rasa-de-listas/#comment-337</link>
		<dc:creator>cezeiro</dc:creator>
		<pubDate>Thu, 12 Apr 2007 19:36:13 +0000</pubDate>
		<guid isPermaLink="false">http://codare.net/2007/04/04/python-copia-rasa-de-listas/#comment-337</guid>
		<description>Luciano,
então nesse caso não utilizado referência como o Osvaldo disse em: &quot;Ao invés disso uma variável em Python guarda apenas uma referência para o objeto em questão&quot;, mas sim feito uma cópia do conteúdo da variavel &quot;a&quot; para o conteúdo de &quot;b&quot;.

Agora confundiu mais ainda :D</description>
		<content:encoded><![CDATA[<p>Luciano,<br />
então nesse caso não utilizado referência como o Osvaldo disse em: &#8220;Ao invés disso uma variável em Python guarda apenas uma referência para o objeto em questão&#8221;, mas sim feito uma cópia do conteúdo da variavel &#8220;a&#8221; para o conteúdo de &#8220;b&#8221;.</p>
<p>Agora confundiu mais ainda :D</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Luciano Pacheco</title>
		<link>http://codare.net/2007/04/04/python-copia-rasa-de-listas/#comment-336</link>
		<dc:creator>Luciano Pacheco</dc:creator>
		<pubDate>Wed, 04 Apr 2007 14:05:51 +0000</pubDate>
		<guid isPermaLink="false">http://codare.net/2007/04/04/python-copia-rasa-de-listas/#comment-336</guid>
		<description>Vale lembrar que a necessidade de fazer uma cópia não é tão comum quanto parece.

Outro ponto importante são os objetos imutáveis (como strings e números).

Por exemplo:

a = &quot;Luciano&quot;
b = a

a == b # True
a is b   # True

a += &quot; Pacheco&quot;
a # =&gt; &quot;Luciano Pacheco&quot;
b # =&gt; &quot;Luciano&quot;

Isso ocorre por que ao fazer &quot;a += &#039; Pacheco&#039;&quot; é criada uma nova string e atribuída à variável &quot;a&quot;. A string inicial que &quot;estava&quot; na variável &quot;a&quot; é ficou intocada e portanto a variável &quot;b&quot; continou com o seu valor.</description>
		<content:encoded><![CDATA[<p>Vale lembrar que a necessidade de fazer uma cópia não é tão comum quanto parece.</p>
<p>Outro ponto importante são os objetos imutáveis (como strings e números).</p>
<p>Por exemplo:</p>
<p>a = &#8220;Luciano&#8221;<br />
b = a</p>
<p>a == b # True<br />
a is b   # True</p>
<p>a += &#8221; Pacheco&#8221;<br />
a # =&gt; &#8220;Luciano Pacheco&#8221;<br />
b # =&gt; &#8220;Luciano&#8221;</p>
<p>Isso ocorre por que ao fazer &#8220;a += &#8216; Pacheco&#8217;&#8221; é criada uma nova string e atribuída à variável &#8220;a&#8221;. A string inicial que &#8220;estava&#8221; na variável &#8220;a&#8221; é ficou intocada e portanto a variável &#8220;b&#8221; continou com o seu valor.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

