def listmaker(n):
if n % 4 == 0
list ++ 'n' == []
....
我希望你能收集我的意图,该功能是为了创建一个列表,更一般地说,是多个列表。列表需要由函数确定它们的名称以保持唯一,并且据我所知,没有简单的方法可以模拟我尝试的内容(用于命名或创建)。有没有办法让一个函数创建列表?
答案 0 :(得分:0)
如果您想要许多列表,请考虑使用字典:
from collections import OrderedDict
amount = 10
nums = list(range(1,amount+1)) # 1,2,3... ,n
OrderedDict(("list{}".format(num), []) for num in nums)
输出
OrderedDict([('list1', []),
('list2', []),
('list3', []),
('list4', []),
('list5', []),
('list6', []),
('list7', []),
('list8', []),
('list9', []),
('list10', [])])
或者简单地说:
[[] for _ in range(11)]
输出
[[], [], [], [], [], [], [], [], [], [], []]
也许可以在你的函数中插入其中一个。
答案 1 :(得分:0)
如果要将变量设置为空列表,则可以执行以下操作:
n = 10
variable_names = ["list{}".format(i) for i in range(1, n + 1)]
exec('=[];'.join(variable_names) + '=[];')
现在,您将获得以下输出:
>>> list1
[]
>>> list2
[]