天天看点

深浅拷贝

浅拷贝只拷贝最外层,里层拷贝的是内存地址的引用

<code>In [</code><code>1</code><code>]: </code><code>import</code> <code>copy</code>

<code>In [</code><code>41</code><code>]: a1</code>

<code>Out[</code><code>41</code><code>]: [</code><code>1</code><code>, </code><code>2</code><code>, </code><code>3</code><code>, </code><code>4</code><code>, {</code><code>'k1'</code><code>: </code><code>'v1'</code><code>}]</code>

<code>In [</code><code>42</code><code>]: a2 </code><code>=</code> <code>copy.copy(a1)</code>

<code>In [</code><code>43</code><code>]: a2[</code><code>4</code><code>][</code><code>'k1'</code><code>] </code><code>=</code> <code>'v3'</code>

<code>In [</code><code>44</code><code>]: a2</code>

<code>Out[</code><code>44</code><code>]: [</code><code>1</code><code>, </code><code>2</code><code>, </code><code>3</code><code>, </code><code>4</code><code>, {</code><code>'k1'</code><code>: </code><code>'v3'</code><code>}]</code>

<code>In [</code><code>45</code><code>]: a1</code>

<code>Out[</code><code>45</code><code>]: [</code><code>1</code><code>, </code><code>2</code><code>, </code><code>3</code><code>, </code><code>4</code><code>, {</code><code>'k1'</code><code>: </code><code>'v3'</code><code>}]</code>

深拷贝数据都拷贝了

<code>In [</code><code>34</code><code>]: a1</code>

<code>Out[</code><code>34</code><code>]: [</code><code>1</code><code>, </code><code>2</code><code>, </code><code>3</code><code>, </code><code>4</code><code>, {</code><code>'k1'</code><code>: </code><code>'v1'</code><code>}]</code>

<code>In [</code><code>35</code><code>]: a3 </code><code>=</code> <code>copy.deepcopy(a1)</code>

<code>In [</code><code>36</code><code>]: a3</code>

<code>Out[</code><code>36</code><code>]: [</code><code>1</code><code>, </code><code>2</code><code>, </code><code>3</code><code>, </code><code>4</code><code>, {</code><code>'k1'</code><code>: </code><code>'v1'</code><code>}]</code>

<code>In [</code><code>37</code><code>]: a3[</code><code>4</code><code>]</code>

<code>Out[</code><code>37</code><code>]: {</code><code>'k1'</code><code>: </code><code>'v1'</code><code>}</code>

<code>In [</code><code>38</code><code>]: a3[</code><code>4</code><code>][</code><code>'k1'</code><code>] </code><code>=</code> <code>'v3'</code>

<code>In [</code><code>39</code><code>]: a3</code>

<code>Out[</code><code>39</code><code>]: [</code><code>1</code><code>, </code><code>2</code><code>, </code><code>3</code><code>, </code><code>4</code><code>, {</code><code>'k1'</code><code>: </code><code>'v3'</code><code>}]</code>

<code>In [</code><code>40</code><code>]: a1</code>

<code>Out[</code><code>40</code><code>]: [</code><code>1</code><code>, </code><code>2</code><code>, </code><code>3</code><code>, </code><code>4</code><code>, {</code><code>'k1'</code><code>: </code><code>'v1'</code><code>}]</code>

<code></code>

本文转自 chomperwu 51CTO博客,原文链接:http://blog.51cto.com/chomper/1937171,如需转载请自行联系原作者