Итак, мне было интересно, как лучше всего создать список пустых списков:
[[],[],[]...]
Из-за того, как Python работает со списками в памяти, это не работает:
[[]]*n
Это создает [[],[],...]
, но каждый элемент представляет собой один и тот же список:
d = [[]]*n
d[0].append(1)
#[[1],[1],...]
Что-то вроде понимания списка работает:
d = [[] for x in xrange(0,n)]
Но это использует Python VM для циклирования. Есть ли способ использовать подразумеваемый цикл (используя его в C)?
d = []
map(lambda n: d.append([]),xrange(0,10))
Это на самом деле медленнее.: (