擅长:python、mysql、java
<p>描述这种情况发生原因的最佳方式是:</p>
<p>这是你的例子</p>
<pre><code>>>> x = []
>>> y = []
>>> print(x is y)
... False
</code></pre>
<p><code>x</code>和<code>y</code>实际上是两个不同的列表,因此,如果向<code>x</code>中添加某些内容,则它不会出现在<code>y</code>中</p>
<pre><code>>>> x.append(1)
>>> print(x)
... [1]
>>> print(y)
... []
</code></pre>
<p>那么我们如何使(<code>x is y</code>)求值为真呢?</p>
<pre><code>>>> x = []
>>> y = x
>>> print(x is y)
... True
>>> x.append(10)
>>> print(x)
... [10]
>>> print(y)
... [10]
>>> print(x is y)
... True
</code></pre>
<p>如果你想看看两个列表是否有相同的内容。。。</p>
<pre><code>>>> x = []
>>> y = []
>>> print(x == y)
... True
>>> x.append(21)
>>> print(x)
... [21]
>>> print(y)
... []
>>> print(x == y)
... False
>>> y = [21]
>>> print(x == y)
... True
</code></pre>