#!/usr/bin/python count = range(4) twoDimensionList = [[]] * len(count) for i in range(len(count)): twoDimensionList[i].append(count[i]) print twoDimensionList #I might be missing something, but I am expecting the following code to print out a list of lists with each internal list holding one number[0-4], but instead the internal lists are a copy of list count. #Should print: #[[0], [1], [2], [3]] #but erroneously prints: #[[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]]