擅长:python、mysql、java
<p>根据你所做的分配,他们目前都在引用各自的集合<code>A</code>或{<cd2>}。例如,<code>bRef1</code>:</p>
<pre><code>id(B)
# 112140097128
id(bRef1)
# 112140097128
</code></pre>
<p>原始的<code>set</code>是否通过修改新集合进行修改取决于您执行的操作类型。如果执行<em>就地</em>操作,例如:</p>
^{pr2}$
<p>然后检查原始变量<code>B</code>,可以看到它确实已经更新:</p>
<pre><code>print(B)
# {2, 4, 5}
</code></pre>
<hr/>
<p>但是,当合并两个集时,除非同时执行在位操作并因此显式更新其中一个集,否则将创建一个新对象:</p>
<pre><code>new_set = aRef2 | bRef2
id(new_set)
# 112140098248
</code></pre>
<hr/>
<p>但是,如果您通过合并其中一个集合<code>A</code>或<code>B</code>与另一个集合合并来更新它们,假设<em>开始使用<code>2</code>不同的对象</em>,则无法将其更改为引用同一对象的所有集。在</p>