我怎样才能让多个空列表在Python?(How can I make multiple empty

2019-07-04 02:01发布

我怎样才能让许多空列表,而无需手动输入

list1=[] , list2=[], list3=[]

是否有一个for循环,将使这种空列表的我“N”数字?

Answer 1:

列表解析是最容易在这里:

>>> n = 5
>>> lists = [[] for _ in range(n)]
>>> lists
[[], [], [], [], []]

警惕不要陷入那是陷阱:

>>> lists = [[]] * 5
>>> lists
[[], [], [], [], []]
>>> lists[0].append(1)
>>> lists
[[1], [1], [1], [1], [1]]


Answer 2:

如果你想在无“名单表”创建不同的列表,试试这个:

list1, list2, list3, list4 = ([] for i in range(4))


Answer 3:

查找列表内涵

listOfLists = [[] for i in range(N)]

现在, listOfLists中有ñ空列表

在列表内涵更多链接:

1 2 3

希望这可以帮助



Answer 4:

这个怎么样。

def mklist(n):
    for _ in range(n):
        yield []

用法:

list(mklist(10))
[[], [], [], [], [], [], [], [], [], []]

a, b, c = mklist(3) # a=[]; b=[]; c=[]


Answer 5:

您还可以添加列表名单列表的列表...喜欢这一点。 这将不返回任何错误。 但我还是不知道那是什么使用。

n = 5 
>>> lists = [[[]]] for _ in range(n)]
>>> lists
   [[[[]]], [[[]]], [[[]]], [[[]]], [[[]]]]


Answer 6:

对不起,我晚两年,但也许我还可以帮助一些其他人。

下面的代码将动态地“创造”本身。 对于每一次迭代,下面的命令将发出:

列表 = []

其中number是我在循环中的价值。

x = 3 # amount of lists you want to create
for i in range(1, x+1):
    command = "" # this line is here to clear out the previous command
    command = "list" + str(i) + " = []"
    exec(command)

这个特定的代码的结果是三个变量:正在创建list1的,列表2和项目list3和每个分配的空列表。

你可以概括这让你想几乎任何东西。 请注意,你不能把这个变成一个功能,据我知道,因为变量和全局变量是如何工作的。

name = "my_var" # This has to be a string, variables like my_var1, my_var2 will be created.
value = "[]" # This also has to be a string, even when you want to assign integers! When you want to assign a string "3", you'd do this: value = "'3'"
amount = 5 # This must be an integer. This many variables will be created (my_var1, my_var2 ... my_var5).

for i in range(1, amount+1):
    command_variable = ""
    command_variable = name + str(i) + " = " + value
    exec(command_variable)

我希望我的功劳!



Answer 7:

我看到很多答案在这里得到你没有指定名称许多列表(作为一个大名单的元素)。 这可能不总是所需的内容。 它可以创建多个空列表,每一个不同的名称/值,使用一个元组:

a,b,c = ([],[],[])

改变这种结构应该得到你想要的东西。



文章来源: How can I make multiple empty lists in python?