test = [[None for e in range(1)] for e in range(len(foobar)/2)]
for delete in range(0,len(test)):
del test[delete][0]
这不是创建一个最 Pythonic 的方式empty list
你会建议别的吗?
我知道这个问题解释了它。但这不是您所看到的前一个的副本。
这是做你想做的吗?
test = [[] for e in range(len(foobar)/2)]
它与您的代码具有相同的输出
test = [[None for e in range(1)] for e in range(len(foobar)/2)]
可以简化为:
test = [[] for i in xrange(len(foobar)/2)]
也不要忘记使用xrange
而不是range
,因为它返回一个生成器而不是一个完整的列表
一个空列表:
test = []
除非我们遗漏了什么;-)
或者你想要一个给定长度的空列表列表?
n = 100
test = [ [] for i in range(0,n) ]
test = map(lambda x: [], foobar[:len(foobar)/2])