["python","multidimensional-array"]
How to initialize a two-dimensional array (list of lists, if not using NumPy) in Python?

I'm beginning python and I'm trying to use a two-dimensional list, that I initially fill up with the same variable in every place. I came up with this: def initialize_twodlist(foo): twod_list = [] new = [] for i in range (0, 10): for j in range (0, 10): new.append(foo) twod_list.append(new) new = [] It gives the desired result, but feels like a workaround. Is there an easier/shorter/more elegant way to do this?
A pattern that often came up in Python was bar = [] for item in some_iterable: bar.append(SOME EXPRESSION) which helped motivate the introduction of list comprehensions, which convert that snippet to bar = [SOME_EXPRESSION for item in some_iterable] which is shorter and sometimes clearer. Usually, you get in the habit of recognizing these and often replacing loops with comprehensions. Your code follows this pattern twice twod_list = [] \ for i in range (0, 10): \ new = [] \ can be replaced } this too for j in range (0, 10): } with a list / new.append(foo) / comprehension / twod_list.append(new) /