Así es como inicializo una lista de listas. Las filas varían más lentamente.
nrows = 3; ncols = 5
l_of_ls = [[0]*ncols for i in range(nrows)]
for rix, r in enumerate(l_of_ls):
for cix, c in enumerate(r):
print rix, cix, 'val = ',c
RESULTADO
0 0 val = 0
0 1 val = 0
0 2 val = 0
0 3 val = 0
0 4 val = 0
1 0 val = 0
1 1 val = 0
1 2 val = 0
1 3 val = 0
1 4 val = 0
2 0 val = 0
2 1 val = 0
2 2 val = 0
2 3 val = 0
2 4 val = 0
también digno de mención para fines de indexación
for rix in range(nrows):
for cix in range(ncols):
print l_of_ls[rix][cix],
print
RESULTADO
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
Este tema se discute en http://docs.python.org/faq/programming.html#id38 resp. http://docs.python.org/faq/programming.html#how-do-i-create-a-multidimensional-list. – glglgl