擅长:python、mysql、java
<p>如果要达到与第一个函数相同的效果,每次都必须创建<code>row</code>的新副本。你知道吗</p>
<pre><code>def createGamePlan_2(size, sign):
gPlan = []
row = [sign]*size
for i in range(size):
gPlan.append( list( row ) ) # <==
return gPlan
</code></pre>
<p>否则,相同的引用将附加到列表中。你知道吗</p>
<p>注意循环中的第一个函数</p>
<pre><code>for i in range(size):
row = [sign]*size
</code></pre>
<p>循环的每次迭代都会创建一个新对象<code>row</code>。你知道吗</p>