所以我想知道如何最好地创建空白列表的列表:
[[],[],[]...]
由于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))
这实际上要慢一些。:(
timeit
,您学到了什么?
map(lambda x: [], xrange(n))
比列表理解要慢。
d = [[] for x in xrange(0,n)]
。您要么必须在Python中显式循环,要么重复调用Python函数/ lambda(这应该更慢)。但是仍然希望有人发布一些表明我错了的东西:)。