Python 2.7 creating a multidimensional list
- by poop
I don't know why I am having so much trouble creating a 3 dimensional list.
I need the program to create an empty n by n list. So for n = 4:
x = [[[],[],[],[]],[[],[],[],[]],[[],[],[],[]],[[],[],[],[]]]
I've tried using:
y = [n*[n*[]]]
y = [[[]]* n for i in range(n)]
Which both appear to be creating copies of a reference.
I've also tried naieve application of the list builder with little success:
y = [[[]* n for i in range(n)]* n for i in range(n)]
y = [[[]* n for i in range(1)]* n for i in range(n)]
I've also tried building up the array iteratively using loops, with no success. In my rapid flurry of attempts to not post something stupidly easy to SO, I came upon a solution:
y = []
for i in range(0,n):
y.append([[]*n for i in range(n)])
Is there an easier/ more intuitive way of doing this?