 <p>The first version:</p> <pre><code>&gt;&gt;&gt; a = [[]] * 3 </code></pre> <p>creates a list that contains three times the same list. Look the ids of the elements:</p> <pre><code>&gt;&gt;&gt; [id(x) for x in a] [4454962120, 4454962120, 4454962120] </code></pre> <p>While this:</p> <pre><code>&gt;&gt;&gt; b = [[], [], []] </code></pre> <p>creates three different lists:</p> <pre><code>&gt;&gt;&gt; [id(x) for x in b] &gt;&gt;&gt; [4454963720, 4455011592, 4454853448] </code></pre> <p>You can create a large list containing different sub-lists with a list comprehension:</p> <pre><code>&gt;&gt;&gt; size = 100 &gt;&gt;&gt; long_list = [[] for x in range(size)] </code></pre> <p>Now appending to the first sub-list:</p> <pre><code>&gt;&gt;&gt; long_list[0].append(10) &gt;&gt;&gt; long_list[:10] </code></pre> <p>changes only the first sub-list:</p> <pre><code>&gt;&gt;&gt; long_list[:10] [[10], [], [], [], [], [], [], [], [], []] </code></pre>