如果之前已经回答过,请道歉,但我在这里找不到类似的问题。
我对Python很陌生,我想创建的内容如下:
list1 = []
list2 = []
results = [list1, list2]
这段代码完全正常,但我想知道是否有更快的方法在一行中完成此操作。
我尝试了以下哪些不起作用,但我希望它能证明我之后的那种事情:
result = [list1[], list2[]]
另外,就复杂性而言,将它放在一条线上真的会有所不同吗?或者在两种情况下都是三个任务?
答案 0 :(得分:13)
对于任意长度列表,您可以使用[ [] for i in range(N) ]
不要使用[ [] ] * N
,因为这将导致包含相同列表对象的列表 N
次
答案 1 :(得分:8)
要手动创建指定数量的列表,这样会很好:
empty_list = [ [], [], ..... ]
如果你想生成更多的列表,那么把它放在for循环中会很好:
empty_lists = [ [] for i in range(n) ]
答案 2 :(得分:2)
如果你想要单行,你可以这样做:
result = [[],[]]
答案 3 :(得分:1)
results = [[],[]]
或
results = [list(), list()]
答案 4 :(得分:1)
我建议使用numpy,因为您还可以构建更高维度的列表列表:
import numpy as np
LIST = np.zeros( [2,3] )# OR np.zeros( [2,3,6] )
它可以在任意尺寸下使用。