In python, append child to root.children(list), and child.children(list) changed?
<p>code:</p>

<pre><code>class Node:
    def __init__(self, key, children=[]):
        self.key = key
        self.children = children

    def __repr__(self):
        return self.key
</code></pre>

<p>execute:</p>

<pre><code>root = Node("root")
child = Node("child")
root.children.append(child)
print child.children
print root.children[0].children
</code></pre>

<p>result:</p>

<pre><code>[child]
[child]
</code></pre>

<p>This is really weird, why?</p>

<p>Python's version is 2.7.2.</p>
