【发布时间】:2013-10-15 11:08:53
【问题描述】:
我想要一个变量,它是多个空列表的嵌套列表,我可以稍后填写。看起来像:
my_variable=[[], [], [], []]
但是,我事先不知道我需要多少个列表,只知道在创建步骤,因此我需要一个变量a 来确定它。
我想过简单的my_variable=[[]]*a,但这会创建列表的副本,这不是我想要的。
我能做到:
my_variable=[]
for x in range(a):
my_variable.append([])
但我正在寻找更优雅的解决方案(最好是单线)。有吗?
【问题讨论】:
-
我认为您需要重新考虑这一点,这似乎根据您的需要使用字典可能会更好。咨询this post
-
my_variable=[[] for _ in xrange(a)] -
+1 到 Inbar Rose 的评论...我必须转换一些 perl 代码(您可以随时在其中实例化任何索引,python 不允许这样做.. x = [], x[ 4] = 1 在 perl 中有效,在 python 中抛出错误)。但是,只需将 x 设为字典,它的工作方式相同: x = {}, x[4] = 1 现在可以正常工作。你必须对键进行排序,但它们不会是单调的(即你可以有像 [0,3,4,7] 这样的索引)。
-
你可能想要的东西:defaultdict(list).
-
这是重复的
标签: python list nested-lists