Вывод: для скоростных маньяков: используйте списочное понимание. Вызывайте только функции, если нужно. Используйте встроенные функции.

му мне было интересно, как лучше всего создать список пустых списков:

[[],[],[]...]

Из-за того, как Python работает со списками в памяти, это не работает:

[[]]*n

Это создает[[],[],...] но каждый элемент - это тот же список:

d = [[]]*n
d[0].append(1)
#[[1],[1],...]

Что-то вроде понимания списка работает:

d = [[] for x in xrange(0,n)]

Но для этого используется виртуальная машина Python. Есть ли способ использовать неявный цикл (воспользовавшись тем, что он написан на C)?

d = []
map(lambda n: d.append([]),xrange(0,10))

Это на самом деле медленнее. :(