Tener problemas para hacer una lista de listas de un tamaño designado

Estoy tratando de hacer una lista de listas de alrededor de 5000 listas y se sigue ensuciando.
ahora mismo solo hago esto

array = [[]]*5000 for line in f2: a = line.split() grid = int(a[0]) array[grid].append(a[1]) print Counter(array[0]).most_common(10) 

el problema es que cuando hago el contador, lo hace como si toda la lista de listas fuera en realidad una sola lista. ¿Hay algo obvio que estoy haciendo mal? Gracias

Con [[]]*5000 , está creando una referencia de 5000 a la misma lista en su lista externa. Por lo tanto, si modifica alguna lista, las modificará todas.

Puedes obtener diferentes listas como esta:

 a = [[] for _ in xrange(5000)]